31 Mayıs 2018 Perşembe

std::wcout

Giriş
Açıklaması şöyle.
The Windows Console does not support UTF-16 output. It only supports 8-bit output, and it has partial support for 8-bit MBCS, such as Big5 or UTF-8.

To display Unicode characters on the console you will need to do conversion to UTF-8 or another MBCS in your code, and also put the console into UTF-8 mode (which requires an undocumented system call).
Dolayısıyla her wchar_t karakterini gösteremez. Bazı karakterin gösterilmediğini görmek için şöyle yaparız.
#include <cstring>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
  wchar_t c[] = L"olé";
  wchar_t d[] = L"abc";
  wcout << c << endl;
  wcout << d << endl;

  return 0;
}
Unicode Karakter Göstermek
Windows'ta şöyle yapılır
#include <iostream>
#include <io.h>
#include <fcntl.h>

int main() {
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L"—";
}


Hiç yorum yok:

Yorum Gönder