Vex*_*toR 14 c++ encoding character-encoding
例如,如果我写:
cout << "??????!" << endl; //it's hello in Russian
Run Code Online (Sandbox Code Playgroud)
在控制台中它会是这样的??????!.
好的,我知道我们可以使用:
setlocale(LC_ALL, "Russian");
Run Code Online (Sandbox Code Playgroud)
但在那之后,俄语中的命令行参数不起作用(如果我通过BAT文件启动我的程序):
StartProgram.bat
chcp 1251
MyProgram.exe -user=???? -password=??????
Run Code Online (Sandbox Code Playgroud)
因此,setlocale该程序无法正确阅读俄罗斯论点.
这是因为CP1251中的BAT文件,但控制台位于CP866中.
所以,有一个问题:
如何在C++控制台中编写俄语文本,同时正确读取俄语命令行参数.
请参阅Michael Kaplan博客中的此条目:
http://www.siao2.com/2008/03/18/8306597.aspx
你试过用过wcout吗?它类似于cout,但它接受"宽"字符,这应该允许正确的unicode编码.
| 归档时间: |
|
| 查看次数: |
29006 次 |
| 最近记录: |