Ich habe vlc (Programm zum Reproduzieren von Videos), wenn ich in einer Shell eingebe:
/home/vlc “/home/meine Filme/der Film, den ich sehen möchte.mkv”
es öffnet sich und reproduziert den Film.
jedoch, wenn ich das folgende Programm ausführe:
#include <unistd.h>
int main(void) {
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
return 0;
}
vlc öffnet sich, reproduziert aber nichts. Wie kann ich das lösen?
Dinge, die ich versucht habe:
Ich vermutete
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
entsprach der Eingabe in die Shell:
/home/vlc /home/my movies/the movie i want to see.mkv
was nicht funktioniert, also habe ich es versucht
execl("/home/vlc", "\"/home/my movies/the movie i want to see.mkv\"",NULL);
und vlc öffnet sich, reproduziert sich aber auch nicht.
Anstatt am Ende NULL zu schreiben, habe ich versucht, 0, (char*) 0, 1 …. nicht hilfreich. Hilfe!!!!
Warum hast du nicht geschaut
errno
nach dem fehlgeschlagenen execl? Das hätte dir mehr über dein Problem gesagt. Was ist aus dem sorgfältigen Lesen der Manpage für execl geworden? 🙂– Jens
26. September 2012 um 7:53 Uhr