fopen () в C ++ не создает файл по тому же пути - PullRequest
0 голосов
/ 02 марта 2019

Я использую 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 голосов
/ 02 марта 2019

Если вы не укажете абсолютный путь в fopen, он создаст файл в текущем рабочем каталоге.В текущем рабочем каталоге вы запускаете исполняемый файл в терминале, а не в папке вашего исполняемого файла, а также в папке исходного файла.

Если вы компилируете и запускаете свой код с помощью командной строки, тогда вы можетенайдите вновь созданный файл в каталоге current.Если вы используете IDE, вам нужно спросить IDE о фактическом рабочем каталоге.

...