_fullpath Предоставление шестнадцатеричного значения в переполнении стека Visual Studio

Я пытаюсь выяснить, каков мой рабочий каталог. Я пытался использовать оба _fullpath а также _getcwd как часть <direct.h>, Тем не менее, все, что он дает мне, это 8-байтовое шестнадцатеричное значение (например, 5504CA90).

Почему это дает мне это, и как я могу получить правильный CWD? Я использую Visual Studio 2015 в C ++.

Мой код выглядит так:

std::cout << "CWD: " << _fullpath << "\n";

И это дает мне такой вывод:

CWD: 0F8CCA90

Тем не менее, каждый раз, когда я запускаю его, он дает мне другое значение hex.

0

Решение

Ты не звонишь _fullpath/getcwd метод. Ваш код просто распечатает его адрес. Это шестнадцатеричное значение, которое вы получаете в выводе консоли. к вызов метод вы должны поставить его параметры:

char * _getcwd (char * buffer, int maxlen);

char szPath[255];
char* pszPath = _getcwd(szPath, sizeof(szPath)/sizeof(char));
if(pszPath)
std::cout << pszPath << std::endl;
0

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

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