GetComputerName () неправильно отображает Unicode в консоли Windows
Я относительно новичок в программировании WinAPI на C ++. Я пытаюсь написать программу, которая получит имя хоста системы, используя GetComputerName (). В идеале я хочу, чтобы код мог работать на английских и неанглийских системах. Ниже приведен код, который я использую:
int main()
{
wstring hostname;
wchar_t nbtName[MAX_COMPUTERNAME_LENGTH + 1];
DWORD length = MAX_COMPUTERNAME_LENGTH + 1;
GetComputerName(nbtName, &length);
hostname = nbtName;
wcout << hostname << endl;
return 0;
}
Код отлично работает в моей английской системе Windows 7, но, похоже, код не отображается должным образом в моей немецкой системе Windows 7 (в которой в качестве имени хоста используются немецкие символы). Я думал, что wstring и wchar_t могут обрабатывать эти специальные символы. Вот что отображается в моей немецкой системе Windows 7.
COMPUTER-Í─▄▀
Я что-то упускаю из виду? Спасибо!