Я пытаюсь получить текущий каталог в 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.
Спасибо!
Ваш << оператор не принимает const TCHAR*
в качестве строкового аргумента, и вы распечатали его как общий указатель.
Одним из способов решения проблемы является использование A
версия API (CHAR
буфер и GetModuleFileNameA
функция):
CHAR pBuf[MAX_PATH];
int bytes = GetModuleFileNameA(NULL, pBuf, MAX_PATH);
std::cout << bytes << " " << pBuf << " " << GetLastError() << std::endl;
Других решений пока нет …