C++ zeigt Fehler bei system befehl?

...komplette Frage anzeigen

2 Antworten

Hallo!

Das Zeichen "\\\\" ist der sogenannte "Flucht-Charakter", so habe ich es mal gelernt (ist ein komischer Name), dieser bedeutet, dass das nächste Zeichen so zu behandeln ist, wie es dasteht. An deinem Beispiel muss es also heissen:  

system("del c:\\\\\\\\desktop\\\\\\\\Test100*.* /s /q");

Andere Anwendungen sind z.B. "Joe\\\\'s Schnapshaus" --> wenn dieser String in einer XML-Datei definiert ist, damit "Joe's Schnapshaus" rauskommt, da der " ' "  eine besondere Bedeutung hat ....

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung

Du musst die Backslashes in C-Literalen verdoppeln.

Antwort bewerten Vielen Dank für Deine Bewertung
goveganyolo 21.02.2016, 17:57

Also wie müsste ich das machen :) einfach \\?

0
goveganyolo 21.02.2016, 18:05
@Mikkey

zeigt zwar keine fehler an aber es funktioniert nicht

0
ralphdieter 28.02.2016, 11:36
@goveganyolo

Probier' mal, ob der Befehl auf der Kommandozeile funktioniert. Eventuell müssen die Switches /s /q vor den Dateinamen.

Funktioniert wenigstens system("dir c:\\Desktop\\Test100*.*");?

0

Was möchtest Du wissen?