Можно ли получить символы Unicode на консоли Windows XP с помощью MinGW? - PullRequest
3 голосов
/ 15 января 2012

Я нашел кучу примеров кода, но это для MSVC ++, эти примеры терпят неудачу под MinGW, поэтому мне интересно, возможно ли это вообще в MinGW?Может быть, эта функция доступна только в MSVC?

Если это возможно, не могли бы вы предоставить мне простой самодостаточный код, который напечатал бы сообщение Hello World, но, например, на русском (привет мир).

1 Ответ

0 голосов
/ 28 ноября 2012

Вы можете присвоить его массиву символов и затем распечатать.Единственное, что вы должны быть осторожны, это то, что вы должны сохранить его как файл в формате 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, соответствующие числу, как показано ниже.

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