Я пытаюсь загрузить имя изображения, используя его адрес виртуальной машины, вызвав GetModuleFileName()
, который, кажется, правильно возвращает значение в массив TCHAR[]
. Я могу правильно отображать данные, используя MessageBox()
, но cout <<
, похоже, отображает какое-то странное шестнадцатеричное число.
TCHAR buf[MAX_PATH];
HMODULE hProc = LoadLibrary(TEXT("kernel32.dll"));
GetModuleFileName(hProc, buf, MAX_PATH);
cout << buf; //Produces the odd number
MessageBox(NULL, buf, NULL, MB_OK); //Produces correct filepath
FreeLibrary(hProc);
Должен ли я установить флаг для cout
, чтобы он знал, как его правильно напечатать? Благодарю вас!
wcout
до сих пор, спасибо! 04.12.2011tcout
или что-то в этом роде, это будетcout
для ANSI иwcout
для Unicode? 04.12.2011TCHAR
:) На самом деле, я не знаю, я не использую окна уже целую вечность. Если ничего подобного нет, возможно, вы можете #define. 04.12.2011