linux 环境下使用execvp函数来执行一个新程序,如下:
char* argv[]= {"ls" , "-l", (*char)0};
ececvp("ls", argv);
这样能执行, 但如果不是shell命令,是编译的文件呢?简单点, hello world 程序, 编译完成后生成二进制文件, 放在当前目录下, 这时需要这么做:
char* argv[] = {"./hello", (char*)0};
execvp("./hello", argv);
即在程序名前加上当前目录 ./
这样就能成功运行了。。
一点小问题, 大神们不要见笑。。。