當前我試圖打開以Unicode格式保存的文本文件,將其內容複製到wstring中,然後將其顯示在控制檯上。因爲我想了解更多關於使用字符串和打開文件的信息,我正在用一個簡單的程序對它進行試驗。這裏是來源。在C++中打開Unicode文本文件並顯示其內容
int main()
{
std::wfstream myfile("C:\\Users\\Jacob\\Documents\\openfiletest.txt");
if(!myfile.is_open())
{
std::cout << "error" << std::endl;
}
else
{
std::cout << "opened" << std::endl;
}
std::wstring mystring;
myfile >> mystring;
std::wcout << mystring << std::endl;
system("PAUSE");
}
當我嘗試以顯示它它顯示■W H Y中的控制檯上時,它應該顯示WHY(說實在的,「WHY WONT你的工作」,但爲什麼它是不完整的病擔心以後我猜)。 誠實地說,使用Unicode對我來說不是很重要,因爲這不是一個我會銷售的程序(更多的僅僅是我自己)。我很想熟悉它,因爲我最終計劃需要了解在C++中使用Unicode的知識。我還使用boost文件系統來處理目錄和多線程,同時使用C++/cli作爲GUI。我的問題:如果我現在不需要使用Unicode,是否真的應該使用Unicode呢?如果是這樣,我該如何解決這個問題,並且在那裏和跨平臺庫來處理字符串和使用不同的文件Unicode編碼(使用UTF-16的窗口和使用UTF-32的Linux)。
此外,任何關於Unicode的C++或Unicode的文章將不勝感激。這是我找到的一個,它有一點幫助。 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
謝謝。
編輯:這裏是另一個arcticle我才發現這是有用的Reading UTF-8 Strings with C++
[寫入wstring到希伯來語/阿拉伯語言文件的問題]的可能重複(http://stackoverflow.com/questions/3336690/problem-in-writing-wstring-to-a-file-for-hebrew -阿拉伯語) – 2011-03-12 21:30:53