2016-04-05 9 views
0

Çalışan çalışma dizinimin ne olduğunu bulmaya çalışıyorum. <direct.h>'un bir parçası olarak hem _fullpath hem de _getcwd kullanmayı denedim. Ancak, bana tüm verir 8 baytlık bir hex değeri (5504CA90 gibi)._fullpath Visual Studio'da Hex Değeri Verme C++

Neden bana bunu veriyor ve doğru cwd'yi nasıl edinebilirim? Visual Studio 2015 C++ 'da kullanıyorum.

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

Ve bana bu çıktıyı verir:

Benim kod şöyle görünür

CWD: 0F8CCA90 

Ancak, bana farklı bir onaltılık değer bunu çalıştırmak her zaman verir.

+0

Lütfen kodunuzu sağlayın. Onsuz senin sorunun anlamsız. – Ari0nhh

+0

Hex değeri ??? Her şey onaltılıktır :) 'char *' olarak yorumlamaya çalışın. –

+0

Bir (char *) olarak yorumlanması, "ï Uï∞j" gibi rasgele karakterler üretir. – Nintendood

cevap

0

_fullpath/getcwd yöntemini çağırmıyorsunuz. Kodunuz sadece adresini yazdıracaktır. Bu hex değeridir, konsol çıkışında oluyorsunuz. çağrı yöntem için onun parametrelerini sağlamanız:

karakter * _getcwd (char * tampon, int enbüyük);

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

İşte gidiyoruz, teşekkürler! – Nintendood