我的桌面上有一个名为fun的文本文件,但是当我通过时:
FILE* fp;
if((fp = fopen("/Users/<username>/Desktop/fun", "r")) == NULL)
{
printf("File didn't open\n");
exit(1);
}
Run Code Online (Sandbox Code Playgroud)
fp为null.我也试过了
/home/<username>/Desktop/fun
Run Code Online (Sandbox Code Playgroud)
和许多变化,我似乎仍然无法获得正确的文件路径.我是使用文件和C的新手.任何帮助将不胜感激.
fopen() 无法扩展shell关键字.
更改
FILE* fp = fopen("~/Desktop/fun.txt", "r")
Run Code Online (Sandbox Code Playgroud)
至
FILE* fp = fopen("/home/<yourusername>/Desktop/fun.txt", "r")
Run Code Online (Sandbox Code Playgroud)
类似'~', '*'的字符由shell解释并展开.