2012-07-24 108 views
0

所以我有這樣一段代碼:麻煩從C++中的文件通過字符讀取字符

ifstream sFile; 
sFile.open(argv[1]); 
stringstream ss; 
unsigned char aChar; 
string aString; 

while (sFile >> noskipws >> aChar) { 
    ss << noskipws << aChar; 
} 
ss >> noskipws >> aString; 
cout << noskipws << aString << endl; 

我的文件包括: 「她聞起來像」

在標準輸出,所有我看到的是「SHE 」。我浪費了很多時間來解決這個問題,有人能幫我理解爲什麼會發生這種情況嗎?

此外,這將能夠讀取擴展ASCII字符的字符?

+2

使用'getline(ss,aString);'而不是'ss >> aString'應該可以工作,但我從來沒有真正用'stringstream'試過'getline'。 – chris 2012-07-24 00:07:26

+0

這似乎現在起作用。你有沒有機會知道上面的代碼是否忽略了任何字符?我需要能夠處理擴展的ascii字母表。 – DillPixel 2012-07-24 00:09:53

+0

然後,您可能需要UTF8或UTF16字符串,具體取決於您需要存儲的內容。 – chris 2012-07-24 00:11:40

回答