Hallo,
ich habe die folgende Funktion aus einem anderen Thread kopiert, um den
Slash in Pfadangaben durch einen für einen system() Aufruf benötigten
Backslash zu ersetzen:
string DosStrRep(string str) {
string path[];
int cnt = strsplit(path, str, '/');
str = "";
for (int n = 0; n < cnt-1; n++) {
str += path[n] + "
";
}
str += path[n];
return str;
}
Leider wird der Backslah nicht in den String eingefügt.
Warum ?
Ziel ist folgender Aufruf:
system(cmd.exe /c del "myfile");
wobei "myfile" den kompletten Pfad einer Datei enthält.
Der Aufruf der Funktion erfolgt so:
sprintf(s, "cmd.exe /c del \"%s\"", DosStrRep(myfile));
und soll gefolgt werden von:
system(s);
- Eagle 5.11
- Windows XP SP3