我正在編寫一個程序來獲取UCS-2 Little Endian中* .rc文件編碼的信息。如何讀取UCS-2文件?
int _tmain(int argc, _TCHAR* argv[]) {
wstring csvLine(wstring sLine);
wifstream fin("en.rc");
wofstream fout("table.csv");
wofstream fout_rm("temp.txt");
wstring sLine;
fout << "en\n";
while(getline(fin,sLine)) {
if (sLine.find(L"IDS") == -1)
fout_rm << sLine << endl;
else
fout << csvLine(sLine);
}
fout << flush;
system("pause");
return 0;
}
在 「en.rc」 的第一行是#include <windows.h>
但sLine
如下所示:
[0] 255 L'ÿ'
[1] 254 L'þ'
[2] 35 L'#'
[3] 0
[4] 105 L'i'
[5] 0
[6] 110 L'n'
[7] 0
[8] 99 L'c'
. .
. .
. .
這個程序可以正確地計算出對於UTF-8。我怎樣才能做到UCS-2?
你的示例代碼甚至不會編譯。 – 2012-07-25 06:39:19
當我粘貼它時,我錯過了宣言行。代碼已更新 – 2012-07-25 06:48:19
請訪問:http://www.codeproject.com/Articles/38242/Reading-UTF-8-with-C-streams – 2012-07-25 06:58:33