是否可以使用MinGW在Windows XP控制台上获取unicode字符?

时间:2012-01-15 01:45:05

标签: c++ unicode console windows-xp mingw

我发现了一堆代码示例,但这些代码适用于MSVC ++,这些示例在MinGW下失败,所以我想知道MinGW中是否可以使用它?也许这只是在MSVC中可用的功能?

如果有可能,请您提供简单的自我可持续代码,以打印Hello World消息,但例如俄语(приветмир)。

1 个答案:

答案 0 :(得分:0)

您可以将其指定给字符数组,然后将其打印出来。您唯一需要注意的是必须将其保存为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字符,如下所示。

☺        ☻        ♥        ♦        ♣        ♠
        ♫        ☼        ►        ◄        ↕        ‼        ¶        §
▬        ↨        ↑        ↓