犯了经验主义错误,以为CLion的相对路径和IDEA一样都是在项目的文件夹下面。但是,事实并不是这样。
默认的情况下,./ 获取当前路径是在 cmake-build-debug 文件夹下。
如果想要修改成和IDEA中类似在整个项目下,需要修改工作空间。
测试:
int main() {
FILE *fp = fopen("./test.txt", "r");
char ch;
while ((ch = getc(fp)) != EOF) {
putchar(ch);
}
fclose(fp);
return 0;
}
输出结果,成功读出文件:
其实,从输出结果也可以看出,生成的 exe 文件是在 cmake-build-debug 文件夹下。
注意:还有一个坑,就是读取的文件如果文件名是中文的话,结果是无法读取,改成英文名后读取正常,而文件内容则是中英文皆可。