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-Í─▄▀

Я что-то упускаю из виду? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос