mac使用C语言open函数的相对路径
在用mac学习C语言fopen函数时,对路径问题产生了一点疑惑。
#include <stdio.h>
int main()
{
FILE *fp = NULL;
fp = fopen("/tmp/test.txt", "w+");
fprintf(fp, "This is testing for fprintf...\n");
fputs("This is testing for fputs...\n", fp);
fclose(fp);
}
这里的相对路径是你.c文件开始的径路,就是你.c文件在哪儿,这个相对路径就从哪儿开始。
然后这段代码需要做一点修改,把第一个/去掉,不然就算运行成功了也不能向文件中写入东西,可能这就是macos跟windows系统的不同。
修改后的代码:
#include <stdio.h>
int main()
{
FILE *fp = NULL;
fp = fopen("tmp/test.txt", "w+");
fprintf(fp, "This is testing for fprintf...\n");
fputs("This is testing for fputs...\n", fp);
fclose(fp);
}


比如c文件在主文件夹,就得把tmp文件夹放这里。
当c文件在桌面时,同理。

本文介绍了在Mac环境下使用C语言的open函数处理相对路径时的注意事项。重点是理解相对路径起点为.c文件所在位置,并且提到了在macOS系统中需要去除路径开头的'/',以正确进行文件操作。通过示例说明了当C源文件位于不同目录(如主文件夹、桌面)时,如何放置相应的目标文件。

480

被折叠的 条评论
为什么被折叠?



