2012-04-02 6 views
0

Grundsätzlich versuche ich eine Datei von einem Ort zu einem anderen zu kopieren, aber ich möchte den Benutzer in der Lage sein zu ändern, weil es für ein Steam-Spiel ist und jeder einen diffidenten Benutzernamen hat.Kopieren einer Datei in C++ mit variablen Verzeichnissen

system("copy GameMenu.res C:\\Program Files (x86)\\Steam\\steamapps\\"login"\\counter-strike source\\cstrike\\resource\\GameMenu.res"); 

In dieser Zeile, wo es heißt „login“ Ich möchte für Menschen in der Lage sein, ihren Benutzernamen eingeben und so ist es immer noch ein Teil des Verzeichnisses, oder was auch immer das Ding genannt wird. Bitte hilf mir.

hier ist der Code hier der gesamte Code ist so können Sie sehen, was mit ihm los ist:

#include <iostream> 
#include <cmath> 
#include <string> 
int main() 
{ 
using namespace std; 

string login; 
int drive; 

cout << "What is your steam login??" << endl; 

cin >> login; 

system("timeout 2"); 

system("cls"); 

cout << "Your files are being copied " << login << "." << endl; 

system("copy GameMenu.res C:\\Program Files (x86)\\Steam\\steamapps\\"login"\\counter-strike source\\cstrike\\resource\\GameMenu.res"); 

system("pause"); 

system("cls"); 

system("timeout 1"); 

return 0; 

} 
+0

Sie müssen auch das Kopierziel in '" 'einschließen, da es Leerzeichen hat. – crashmstr

+0

Außerdem nehmen Sie an, wo sie dampf installiert haben. – crashmstr

Antwort

2

Sie könnten Ihre String mit Verkettung für Ihren Benutzernamen Problem vorbereiten und es dann zu const char * konvertieren:

Auch als crashmstr in den Kommentaren erwähnt, da Sie Leerzeichen in Ihrem Pfad haben, könnten Sie Probleme haben, also ziehen Sie in Betracht seinen Rat zu befolgen.

+0

Das wird nicht funktionieren,' system' nimmt const char * als Argument – jrok

+0

Ich versuchte das, aber es kompiliert nicht und ich erhalte diesen Fehler C: \ Benutzer \ Seb \ Documents \ template.cpp kann 'std :: basic_string nicht umwandeln , std :: allocator > 'zu' const char * 'für Argument '1' zu' int System (const char *) ' – Seb1996

+0

@ user1308252 und wenn Sie Ihre 'const char *' vor wie meine aktualisierte Antwort vorbereiten? – talnicolas