Problem mit " und Leerzeichen bei System()
-
Hallo,
ich will ein programm mit argumenten per system() aufrufen, sowohl im pfad zum Programm als auch in den Argumenten sind Leerzeichen.
Ich habe folgendes probiert:system(command); --> command = ... "d:\pfad mit leerzeichen.exe" "hallo gehört zusammen" "neues argument" //geht garnicht (programm wird nicht geöffnet) "d:\pfad mit leerzeichen.exe "hallo gehört zusammen" "neues argument"" //geht auch garnicht d:\pfad mit leerzeichen.exe "hallo gehört zusammen" "neues argument" //auch nicht "d:\pfad mit leerzeichen.exe" hallo gehört zusammen neues argument //geht aber natürlich zu viel argumente "d:\pfad mit leerzeichen.exe" 'hallo gehört zusammen' 'neues argument' //auch zu viele argumente //ich habe natürlich überall \" statt "Schon einmal vielen Dank für eure Hilfe
Moritz
-
moritz92 schrieb:
//ich habe natürlich überall \" statt "Zeig mal besser den Code genau so, wie du ihn auch geschrieben hast, also einschliesslich der Escape-Sequenzen.
Prinzipiell gilt: alle Anführungszeichen, die mit übergeben werden sollen, müssen escaped werden, und dann gehört der komplette Ausdruck nochmal in Anführungszeichen.
-
Hallo
Nimm eine String-Klasse zum Zusammenbauen.
Und nimm statt system zum Starten von Programmen WinExec oder ShellExecute
bis bald
akari