C - Не могу создать файл в текущем каталоге в OSX - PullRequest
0 голосов
/ 07 ноября 2019

Я должен сохранить данные в файл для проекта (на языке Си). Поэтому я хотел бы использовать fopen для использования fprintf для вывода значений моих строк в файл.

Итак, я делаю:

FILE * file;
file = fopen("./tmp.txt","w+");
outputData(); //my fonction to fprintf in the file
fclose(file);

Но когда я это делаю, этонаходится не в текущем каталоге, а в моем каталоге User моего компьютера (на OSX), а не в текущем каталоге, из которого приложение находится в режиме ланча.

Итак, как я могу изменить текущий каталог для моего выходного файла? без жесткого кодирования?

Я выполняю свою программу из: "/ Users / Guillaume / OneDrive / Ephec / Os / Project1"

и файл tmp.txt создается в: "/Users / Guillaume ", и я хотел бы создать файл в том же каталоге, что и мой проект

1 Ответ

0 голосов
/ 07 ноября 2019

Вы можете попробовать использовать полный путь, как в Linux:

FILE * file;
file = fopen("/home/toto/tmp.txt","w+");

Вы также можете проверить доступ к файлу, используя access

...