Я использую следующий код для чтения текущего каталога в Windows 7. В текущем каталоге находится C: \ 特斯塔 敌人. Текущий язык - английский (EN). Я использовал getCurrentDirectoryW с идеей, что это будет правильно читать путь к каталогу, так как функция использует юникода:Использование getCurrentDirectoryW Не читает нелокальные символы
wchar_t w_pcRootLocation[MAX_PATH+100];
GetCurrentDirectoryW(MAX_PATH, w_pcRootLocation);
wcout << w_pcRootLocation << endl;
MAX_PATH определяется в WinDef.h и равно 260.
При печати на выходе на консоль, используя wcout, я вижу только следующее:
C:\
Китайские символы не читаются, по-видимому,. В чем проблема и как я правильно прочитал путь в Юникоде?
Спасибо.
Пройдите код в отладчике, и вы увидите, что 'GetCurrentDirectoryW' работает нормально. Проблема заключается в 'wcout'. (Другими словами, китайские символы были правильно прочитаны. Проблема возникает, когда * пишите * их.) –