作者Huvip (Stardust)
看板MacDev
標題[問題] Xcode關於fstream讀文字檔的問題
時間Thu Jun 4 21:39:04 2009
各位大大好,
最近開始用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)
1F:推 Blueshiva:你要放到"執行檔"所在目錄,而不是原始碼所在目錄 06/04 21:48
2F:→ Blueshiva:另外堅持用big5只是自找麻煩... 06/04 21:49
3F:→ ducksteven:有可能原po剛好在寫一個 input.txt是 Big5 的作業啊 :p 06/04 21:50
4F:→ ducksteven:我們班之前才寫過讀 big5 中文的作業 快搞死我了 = = 06/04 21:50
5F:→ Huvip:樓上正解... T^T 就是Big5作業 06/04 21:54
6F:推 Blueshiva:那我會用iconv先轉過再讀....哈哈哈 06/04 21:59
7F:→ Huvip:感謝一樓回答... 但能否說明一下什麼是“執行檔”?XDDD 06/04 22:02
8F:→ Huvip:是 $projectpath/build/Release/Unix_executable_file 嗎? 06/04 22:11
9F:推 Blueshiva:沒錯,就是那個,所以你要把檔案放到那個目錄下才行 06/04 22:13
10F:→ Huvip:好像還是無法耶... 而且那路徑是在build&go之後才會出現 06/04 22:27
11F:推 ducksteven:不然就指定絕對路徑啊 ^^ 06/04 22:33