C-无法在OSX的当前目录中创建文件

问题描述 投票:0回答:1

我必须将数据保存在项目文件中(使用C语言)。因此,我想使用fopen来使用fprintf在文件上输出我的字符串值。

所以,我愿意:

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

但是当我这样做时,这不在当前目录中,而是在我的我的计算机的用户目录(在OSX上),而不是应用程序午餐所在的当前目录。

所以,如何更改输出文件的当前目录?没有hardCoding吗?

我正在从“ / Users / Guillaume / OneDrive / Ephec / Os / Project1”执行程序

并且文件tmp.txt在以下位置创建:“ /用户/纪尧姆”并且我想在与我的项目相同的目录中创建文件

c macos directory fopen
1个回答
0
投票

您可以尝试在Linux上使用完整路径:

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

您也可以使用access检查文件访问权限>

© www.soinside.com 2019 - 2024. All rights reserved.