【问题标题】:is it possible to obtain unicode characters on Windows XP console using MinGW?是否可以使用 MinGW 在 Windows XP 控制台上获取 unicode 字符?
【发布时间】:2012-02-10 14:56:16
【问题描述】:
我找到了一堆代码示例,但这些是针对 MSVC++ 的,这些示例在 MinGW 下失败了,所以我想知道在 MinGW 中是否有可能?也许这是仅在 MSVC 中可用的功能?
如果可能的话,能否请您提供一个简单的自我可持续的代码来打印 Hello World 消息,例如俄语 (привет мир)。
【问题讨论】:
标签:
c++
unicode
console
windows-xp
mingw
【解决方案1】:
您可以将它分配给一个字符数组,然后打印它。唯一需要注意的是,您必须将其保存为 UNICODE 文件并使用可以读取 UNICODE 文件的编译器。
#include<iostream.h>
int main()
{
using namespace std;
wchar_t a[]={'п','р','и','в','е','т',' ','м','и','р'};
for(int x=1; a[x]!='\0'; x++)
wcout<<a[x];
return 0;
}
这将打印输出如下。
привет мир
或者,如果你只想要 ASCII 字符,你可以通过指定它的字符代码来打印它们。
#include<iostream.h>
int main()
{
for(int x=1; x<40; x++)
cout<<char(x)<<"\t";
return 0;
}
这将打印与数字对应的ASCII字符,如下所示。
☺ ☻ ♥ ♦ ♣ ♠
♫ ☼ ► ◄ ↕ ‼ ¶ §
▬ ↨ ↑ ↓