tôi có vlc (chương trình để tái tạo video) nếu tôi gõ vào một vỏ:Làm thế nào để gọi execl() trong C với các đối số thích hợp?
/home/vlc "/ home/phim của tôi/bộ phim tôi muốn see.mkv"
nó mở ra tái tạo phim.
Tuy nhiên, khi tôi chạy chương trình sau:
#include <unistd.h>
int main(void) {
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
return 0;
}
vlc mở ra nhưng không tạo thêm bất cứ điều gì. Làm sao tôi có thể giải quyết việc này?
Những điều tôi đã cố gắng:
tôi đoán
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
tương đương với gõ vào vỏ:
/home/vlc /home/my movies/the movie i want to see.mkv
mà không làm việc, vì vậy tôi đã cố gắng
execl("/home/vlc", "\"/home/my movies/the movie i want to see.mkv\"",NULL);
và vlc o viết lên nhưng không tái sản xuất.
Thay vì viết NULL ở cuối, tôi đã thử 0, (char *) 0, 1 .... không hữu ích. Trợ giúp !!!!
Tại sao bạn không nhìn vào 'errno' sau lệnh execl thất bại? Nó sẽ cho bạn biết thêm về vấn đề của bạn. Điều gì đã trở thành khi đọc trang người đàn ông cho execl một cách cẩn thận? :-) – Jens