GetModuleFileName не возвращает путь

Я пытаюсь получить текущий каталог в Win7 с VS C ++, но

TCHAR pBuf[MAX_PATH];
int bytes = GetModuleFileName(NULL, pBuf, MAX_PATH);
std::cout << bytes << "   " << pBuf << "   " <<   GetLastError() << std::endl;

возвращает длину 58 и то, что я считаю указателем в pBuf, указывающим на 68. Код ошибки равен 0.

Спасибо!

2

Решение

Ваш << оператор не принимает const TCHAR* в качестве строкового аргумента, и вы распечатали его как общий указатель.

Одним из способов решения проблемы является использование A версия API (CHAR буфер и GetModuleFileNameA функция):

CHAR pBuf[MAX_PATH];
int bytes = GetModuleFileNameA(NULL, pBuf, MAX_PATH);
std::cout << bytes << "   " << pBuf << "   " <<   GetLastError() << std::endl;
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]