Я пытаюсь выяснить, каков мой рабочий каталог. Я пытался использовать оба _fullpath
а также _getcwd
как часть <direct.h>
, Тем не менее, все, что он дает мне, это 8-байтовое шестнадцатеричное значение (например, 5504CA90
).
Почему это дает мне это, и как я могу получить правильный CWD? Я использую Visual Studio 2015 в C ++.
Мой код выглядит так:
std::cout << "CWD: " << _fullpath << "\n";
И это дает мне такой вывод:
CWD: 0F8CCA90
Тем не менее, каждый раз, когда я запускаю его, он дает мне другое значение hex.
Ты не звонишь _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;
Других решений пока нет …