Wei mehrere Paramter als ein ganzen String speichern?
-
Hallo, ich möchte in der Konsole folgendes eingeben:
cd "c:\dokumente und einstellungen"Der erste Parameter ist der Befehl cd wie bekomme ich nun die restlichen Parameter in "" als ein ganzen String gespeichert? Ich würde nach dem ersten " und dem letzten " suchen und dann alles speichern.
-
Das sollte das Betriebssystem schon von sich aus in das zweite Argument packen und die Anführungszeichen entfehrnen.
-
Habe sowas gebastelt, was meint ihr dazu:
if(command[0] == '"' && command.rfind('"')) { //suche das '"' Zeichen von hinten int i = command.rfind('"'); //erstellt ein string zwischen den Zeichen '"' string app = command.substr(0, i+1); //erstellt ein string hinter dem letzten Zeichen '"' string para = command.substr(i+1, command.length()-1); //Befehl + Parameter string buildApp = app + para; //Ausführen ExecCommand(buildApp); cout << endl; }
-
Dann hast ein Problem wenn mehrere " drin vorkommen. Oder ein escaptes " (\").
-
Wie könnte man das besser realisieren ?
-
Auftrennen des Strings an jeder Stelle an der ein " auftaucht. Jeweils darauf achten das kein \ davorsteht.