Ich möchte aus einem meiner Programme ein anderes Programm, wie z.B. mpv starten.
Bisher habe ich dafür system() verwendet, was immer geklappt hat. Aber wenn ich jetzt versuche mpv zu starten gibt es mit einigen Youtube Clips Probleme. Natürlich sind wieder mal einige Sonderzeichen schuld. Hier mal 2 Beispiele (die erste Zeile ist der Tatsächliche Dateiname):
Ladyva - J.B's Boogie-3Bsnuew8f6s.mp4 sh: 1: Syntax error: Unterminated quoted string Some Swingin' Fingerpickin' Ragtime Guitar!-7Lu9EfIyatQ.mp4 Playing: Fingerpickin Ragtime Guitar!-7Lu9EfIyatQ.mp4 [file] Cannot open file 'Fingerpickin Ragtime Guitar!-7Lu9EfIyatQ.mp4': No such file or directory Failed to open Fingerpickin Ragtime Guitar!-7Lu9EfIyatQ.mp4.
Ich könnte hier jetzt einfach doppelte Anführungsstriche verwenden, aber die würden das Problem nur verlagern. Ein einfaches Maskieren oder eine sog. Prozentcodierung (%27) erzeugt nur neue Fehler.
Wie machen andere Programme wie z.B. ein Dateimanager das?