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

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

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

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

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

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

CWD: 0F8CCA90

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

1 ответ

Решение

Ты не звонишь _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;
Другие вопросы по тегам