Clion 中無法用相對路徑讀入文件

代碼中有這一句:

int fd1=open("./a.txt",O_RDONLY);
printf("fd1=%d\n",fd1);

在clion中運行,輸出的是fd1=-1。而在vim中運行同一段代碼,fd1=3。在將代碼的相對路徑改爲絕對路徑後,即由./a.txt改爲/home/djw931017/dup/a.txt後,在clion中輸出又與vim相同。在搜索後,才發現原因:
使用CLion中ifstream、fopen打開文件,文件名正確,但是文件均無法打開

原因:
在CLion工程中,編譯文件放在/home/djw931017/dup/cmake-build-debug文件夾中,此時使用相對路徑./a.txt是在cmake-build-debug文件夾下尋找文件。因此,需要回到代碼文件同目錄下的相對路徑。
有兩個方法可以解決:
方法一:回到父目錄 ../a.txt;
方法二:在Run->Edit Configurations中修改Working directory爲當前絕對路徑
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章