2013-07-24 66 views
1

我很好奇這個現象,std::wcout不能輸出std::wstring的全部內容。我錯過了什麼嗎?std :: wcout奇怪的錯誤:std :: wstring的截斷輸出

這裏是我的輸出:

F:\ 
F:\ 

我的代碼片段如下:

std::wstring ws(L"F:\\右旋不規則.pdf"); 
std::wcout << ws << std::endl; 
std::wcout << ws.data() << std::endl; 
+0

或許這可能給你一個線索:http://coliru.stacked-crooked.com/view?id=e16148d281202045a5f3b4565c85a15b-3b440a87a52fe2ae7c853c82f4c5144f – chris

+0

嘗試建立區域(的std :: wcout。 imbue()),或者使用codecvt進行實驗。 – user1837009

回答

2

已經有多個線程對這個話題:

Output unicode strings in Windows console app

Using Unicode font in C++ console app

Output Unicode to console Using C++, in Windows

問題是你需要系統能夠顯示你的中文字符(他們是中文,對吧?)。我不認爲控制檯可用的默認字體能夠做到這一點。露辛達控制檯可以用於許多Unicode字符,但我不認爲它能夠顯示中文。如果你有一個字體,你可以將它添加到控制檯。

How to display japanese Kanji inside a cmd window under windows?

https://superuser.com/questions/5035/how-to-change-the-windows-xp-console-font