犯了經驗主義錯誤,以為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 文件夾下。
注意:還有一個坑,就是讀取的文件如果文件名是中文的話,結果是無法讀取,改成英文名后讀取正常,而文件內容則是中英文皆可。