GetTempPath() !?
-
Hallo,
ich habe folgenden Code:CString nameTempDir; TCHAR pathName[MAX_PATH]; // Temp Pfad ermitteln. ::GetTempPath(MAX_PATH, pathName); nameTempDir = pathName; // In langen Pfadnamen konvertieren. ::GetLongPathName(nameTempDir, pathName, MAX_PATH); cout << pathName;Der Temp Pfad wird wunderbar ermittelt. Der Pfad ist jedoch nicht in der von mir erwarteten Form !? Beispielsweise wird folgendes ausgegeben:
C:\Dokumenten und Einstellungen\user\Lokale Einstellungen\Temp\00421A1C
Habe ich irgendwo die String Termination '\0' vergessen, oder wodurch entsteht diese 00421A1C?
Gruß
-
Problem gelöst, Terminierung vergessen.
-
Funktioniert doch noch nicht so recht.
// pathOutput == "Rückgabeparameter" // nameOutput == Name des Ausgabeverzeichnisses // void getDirName(CString& pathOutput, const string& nameOutput = "output") { string nameTempDir; //... // Danach enthält nameTempDir eine vollständige Pfadangabe "C:\muh\maeh". nameTempDir += nameOutput + "\\"; // Irgendwie funktioniert dieser Teil nicht so Recht, es sieht aus als // würde '\0' fehlen!? Kann aber eigentlich nicht sein, wo liegt mein // Fehler? // pathOutput = nameTempDir.c_str(); }