Как использовать c ++ для отображения дополнительного символа Юникод (> U + FFFF) в консольном приложении в Windows 10? (без WinRT, если это возможно) - PullRequest
1 голос
/ 22 июня 2019

Кажется, что символы USC2 одинаковы с wchar_t.
Однако когда кодовая точка больше U+FFFF, она просто не работает.

#include <iostream>
#include <fcntl.h>
#include <io.h>

int main()
{
  _setmode( _fileno(stdout), _O_U8TEXT ); // _O_WTEXT has no difference
  std::wcout.sync_with_stdio(false);
  std::wcout << L"z\u00df\u6c34\U0001F34C\n" << std::endl;  // L"zß水?"
}

Печать, как показано ниже:

zß水�

Как печатать символы SMP в консольном приложении в Windows?
Возможно ли это без C++/WinRT?

...