2016-04-05 12 views
0

Ich versuche herauszufinden, was mein crrd Arbeitsverzeichnis ist. Ich habe versucht, sowohl _fullpath als auch _getcwd als Teil von <direct.h>. Alles, was es mir gibt, ist jedoch ein 8-Byte-Hexadezimalwert (wie 5504CA90)._fullpath Geben Hex-Wert in Visual Studio C++

Warum gibt es mir das, und wie kann ich die richtige cwd bekommen? Ich verwende Visual Studio 2015 in C++.

Mein Code sieht wie folgt aus:

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

Und es gibt mir diese Ausgabe:

CWD: 0F8CCA90 

aber es gibt mir eine andere Hex-Wert jedes Mal, wenn ich es laufen.

+0

Bitte geben Sie Ihren Code ein. Ohne es ist Ihre Frage bedeutungslos. – Ari0nhh

+0

Hexadezimalwert ??? Alles ist hex :) Versuche es als 'char *' zu interpretieren. –

+0

interpretiert es als (char *) erzeugt zufällige Zeichen, wie "ï Uï∞j". – Nintendood

Antwort

0

Sie rufen nicht _fullpath/getcwd Methode. Ihr Code wird einfach seine Adresse drucken. Dies ist der Hexadezimalwert, den Sie in der Konsolenausgabe erhalten. Um Aufruf Methode müssen Sie seine Parameter liefern:

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

Da gehen wir, danke! – Nintendood