C ++中的fopen()不在同一路径中创建文件

时间:2019-03-02 06:16:53

标签: c++ fopen

我正在使用macOS Mojave。我正在尝试使用c ++中的文件,当我使用fopen()函数时,它将在另一个路径中创建文件。我尝试使用完整路径,但是没有用。 这是代码示例

#include <iostream>
#include <stdio.h>

using namespace std;

int main(){

  FILE *myFile;

  myFile = fopen("test.in⁩", "w");

  if (myFile != NULL){

    fprintf(myFile, "This is the file\n");


    fclose(myFile);
  }
  else{
    printf("Could not open the file\n");
  }


  return 0;
}

每次它都会在我的用户文件夹中创建文件。

1 个答案:

答案 0 :(得分:1)

如果未在fopen中指定绝对路径,则它将在当前工作目录下创建文件。当前工作目录是您在终端下启动可执行文件的位置,而不是可执行文件的文件夹,也不是源文件的文件夹。

如果要使用命令行编译和运行代码,则可以在current目录下找到新创建的文件。如果使用的是IDE,则需要向IDE询问实际的工作目录。