Mat*_*ant 19 c quotes external exec unistd.h
如果我输入一个shell,我有vlc(重现视频的程序):
/ home/vlc"/ home/my movies /我想看的电影.mkv"
它打开了一个再现电影.
但是,当我运行以下程序时:
#include <unistd.h>
int main(void) {
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
vlc打开但不会重现任何内容.我怎么解决这个问题?
我试过的事情:
我猜的
execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);
Run Code Online (Sandbox Code Playgroud)
相当于在shell中输入:
/home/vlc /home/my movies/the movie i want to see.mkv
Run Code Online (Sandbox Code Playgroud)
这不起作用,所以我试过
execl("/home/vlc", "\"/home/my movies/the movie i want to see.mkv\"",NULL);
Run Code Online (Sandbox Code Playgroud)
和vlc打开但不会重现.
我没有在最后写NULL,而是尝试了0,(char*)0,1 ....没有用.救命!!!!
APr*_*mer 34
execl("/home/vlc",
"/home/vlc", "/home/my movies/the movie i want to see.mkv",
(char*) NULL);
Run Code Online (Sandbox Code Playgroud)
您需要指定包含的所有参数,这些参数argv[0]不是从可执行文件中获取的.
还要确保最后NULL的演员阵容char*.
详细信息如下:http://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
| 归档时间: |
|
| 查看次数: |
111182 次 |
| 最近记录: |