看板 MacDev 關於我們 聯絡資訊
各位大大好, 最近開始用Xcode寫C++,想要用ifstream讀一個.txt檔, 以往在window下都是把該txt檔放在和main.cpp同樣的資料夾下即可讀到。 我的程式碼如下 #include <iostream> #include <fstream> #include <string> using namespace std; int main(){ ifstream fin("test.txt"); string line; if(!fin){ cout << "讀檔失敗" <<endl; } while(getline(fin,line)){ cout << line << endl; } fin.close(); return 0; } 雖然compile會過,而test.txt也和main.cpp在同一個資料夾中(我是用Action裡面 的Add new file建立的.txt檔,所以該.txt檔也會出現在整個project的視窗裡面。) 但是終端機跑出來的結果都是"讀檔失敗"。 我試過把test.txt檔放在project中的不同位置,例如 Source 或是 documentation ...等等,但還是會讀檔失敗。 感覺是個簡單的問題,但實在不知道哪裡出了錯... T^T 另外一個問題是,xcode的中文編碼可以調成Big 5嗎? 我在設定裡面只有找到Traditional Chinese (Window and Dos) 和 Traditional Chinese (EUC)。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.235 ※ 編輯: Huvip 來自: 140.112.4.235 (06/04 21:41)
Blueshiva:你要放到"執行檔"所在目錄,而不是原始碼所在目錄 06/04 21:48
Blueshiva:另外堅持用big5只是自找麻煩... 06/04 21:49
ducksteven:有可能原po剛好在寫一個 input.txt是 Big5 的作業啊 :p 06/04 21:50
ducksteven:我們班之前才寫過讀 big5 中文的作業 快搞死我了 = = 06/04 21:50
Huvip:樓上正解... T^T 就是Big5作業 06/04 21:54
Blueshiva:那我會用iconv先轉過再讀....哈哈哈 06/04 21:59
Huvip:感謝一樓回答... 但能否說明一下什麼是“執行檔”?XDDD 06/04 22:02
Huvip:是 $projectpath/build/Release/Unix_executable_file 嗎? 06/04 22:11
Blueshiva:沒錯,就是那個,所以你要把檔案放到那個目錄下才行 06/04 22:13
Huvip:好像還是無法耶... 而且那路徑是在build&go之後才會出現 06/04 22:27
ducksteven:不然就指定絕對路徑啊 ^^ 06/04 22:33