我必须将数据保存在项目文件中(用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在以下位置创建: “ /用户/纪尧姆” 我想在与项目相同的目录中创建文件
答案 0 :(得分:0)
答案 1 :(得分:0)
我找到了解决方法。
char path[PATH_SIZE/2];
strcpy(path,realpath(argv[0],0));
我使用程序的argv [0]部分获取路径 与realpath()结合
并将其存储在预定义的字符串路径中