Clion中C++使用當前目錄讀取檔案失敗
問題
在使用 Clion編譯執行C++時,程式從檔案中讀取輸入資料,使用 freopen 重定向輸入,一直沒有讀取到資料,execute.txt
檔案放在cpp檔案同級目錄下:
freopen("./execute.txt", "r", stdin);
原因:
在Clion中,cpp原始檔經編譯後生成可執行檔案,放在 cmake-build-debug
目錄下,也就是最終的執行目錄,所以檔案相對路徑應該是 ../
解決辦法:
1.使用絕對路徑
使用檔案絕對路徑,讀取檔案一般不會出問題,例如
freopen("/Users/usr/workspace/ClionProjects/untitled/execute.txt", "r", stdin);
2.使用相對路徑
使用相對路徑的話,就是要確定待讀取檔案目錄和編譯之後生成的可執行檔案目錄。
如果把待讀取檔案放到 cmake-build-debug
目錄,直接執行
freopen("./execute.txt", "r", stdin);
如果把待讀取檔案放在cpp檔案同級目錄下,則程式執行時需要在父級目錄找待讀取檔案
freopen("../execute.txt", "r", stdin);
相關文章
- windows 把指定目錄的檔案複製到當前目錄Windows
- Python獲取當前目錄下所有檔案的絕對路徑並儲存在檔案中Python
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)
- 把當前目錄檔名輸出到一個檔案
- java讀取resouces目錄下檔案Java
- Linux C獲取當前工作目錄Linux
- Linux dd 在當前目錄建立檔案系統Linux
- Linux檢視當前目錄下的檔案大小Linux
- Oracle - AIX上NFS目錄歸檔失敗OracleAINFS
- ENVI匯出的tif檔案,python讀取失敗。Python
- Centos下檢視當前目錄大小及檔案個數CentOS
- git將當前目錄下所有檔案納入跟蹤Git
- [linux]開啟當前目錄以及PDF檔案-轉帖Linux
- 刪除當前目錄下的所有可執行檔案
- Android中讀取assets目錄下的檔案詳細介紹Android
- 當前控制檔案全部丟失恢復
- 因歸檔目錄所在檔案系統使用率100%以致dblink連線失敗
- win10怎麼獲取當前目錄_win10系統如何快速獲取檔案路徑Win10
- kodbox讀取alist檔案失敗,問題解決過程
- VB中得到當前目錄API定義 (轉)API
- IDEA如何快速定位到當前開啟檔案所在的目錄Idea
- 遍歷當前目錄下的所有HTML檔案,並且顯示到螢幕中HTML
- PHP超低記憶體遍歷目錄檔案和讀取超大檔案PHP記憶體
- 2018-02-27:使用 PHP 實現目錄檔案讀取PHP
- 中獲取當前程式本身所在目錄
- ORACLE directory 目錄讀寫檔案Oracle
- linux下獲取程式當前目錄絕對路徑Linux
- C++中的檔案輸入/輸出(2):讀取檔案 (轉)C++
- linux 統計當前目錄下檔案或者資料夾的數量Linux
- 檔案或目錄損壞且無法讀取怎麼辦?
- jmeter 引數化 csv外掛的讀取檔案 bin目錄JMeter
- 將assets目錄下的資料庫檔案拷貝到當前應用程式下的files目錄下,並載入使用資料庫
- win10 讀取檔案錯誤怎麼辦 win10讀取文件失敗什麼原因Win10
- 指令碼:獲取當前的User Trace檔案指令碼
- C/C++讀取SEGY檔案(三)C++
- C語言ftell()函式:獲取檔案讀寫指標的當前位置C語言函式指標
- 獲取Linux系統中目錄檔案大小的方法Linux
- 引入js檔案失敗JS