Кажется, что символы 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
?