C++ Auf Eigene Dateien zugreifen

M.E.

Lt. Commander
Registriert
Jan. 2007
Beiträge
1.923
Hallo,
Ich möchte mit einem C++ Programm auf die Eigenen Dateien zugreifen:

Code:
...
 DWORD nSize; 
 char user_name[255];  
 nSize = sizeof( user_name ); 
 GetUserName( user_name, &nSize );  
 cout << "Benutzername: " << user_name << endl;  

ostringstream oss;
oss << "cd C:\Dokumente und Einstellungen\" << user_name << "Eigene Dateien";
system( oss.str().c_str());

Probleme bereitet mir diese Zeile:
Code:
oss << "cd C:\Dokumente und Einstellungen\" << user_name << "Eigene Dateien";
Weil das '\' nach 'Einstellungen' dafür sorgt, dass das bis zum ' " ' vor 'Eigene' der Programmcode von meinem Compiler als string gewertet wird.

Wenn ich das verwende:
Code:
oss << "cd C:\Dokumente und Einstellungen\\" << user_name << "Eigene Dateien";
Sagt mir das Compilierte Programm:
System konnte angegeben Pfad nicht finden.

Es gibt sicher eine ganz andere Lösung/ eine fertige Funktion um auf die Eigenen Dateien zuzugreifen, aber ich wollte es auf diese Art probieren...

Was muss ich ändern?

MfG
M.E.
 
Einfach fleißig alles mit '\' escapen:

oss << "cd \"C:\\Dokumente und Einstellungen\\" << user_name << "\\Eigene Dateien\"";

Besser wäre es aber mittles SHGetFolderPath den richtigen Pfad zu bestimmen, dann funktioniert's auch mit anderen Windows Versionen/Sprachen.
 
Völlig falsch. Es gibt eine API, die einen Zeiger auf Eigene Dateien zurückgibt.
Ich weiß, die win32-API ist zum Heulen, aber wenn man schon den Fehler macht,
für Windows zu entwickeln, sollte man sich schon damit beschäftigt haben.

€: Ich hoffe du dankst mir dafür dass ich mich für dich durch die MSDN Library
gewühlht habe:

http://msdn.microsoft.com/en-us/library/bb762277(VS.85).aspx
 
Zuletzt bearbeitet:
Zurück
Oben