system函数
-
作用
- 执行shell命令
-
所需头文件:
#include<stdio.h>
-
函数原型:system(const char *command);
-
返回值
返回值 说明 127 调用失败 -1 其他原因失败 0 执行成功 -
使用
-
当前目录下system(./执行程序 执行程序的参数(有就写没有就不写))
-
- 如:执行程序不带参数的:system(“./Hello.out”);
- 如:执行程序带参数的:system(“./Hello.out 123 456”);
- 如:执行程序不带参数的:system(“./Hello.out”);
-
其他目录下system(执行文件目录 执行程序名 执行程序参数)
-
- 如:执行程序不带参数的:system(“/home/theone/Desktop/Systemprogramme/system/Hello.out”);
- 如:执行程序带参数的:system(“/home/theone/Desktop/Systemprogramme/system/Hello.out 123 456”);
- 如:执行程序不带参数的:system(“/home/theone/Desktop/Systemprogramme/system/Hello.out”);
-
-
与exec族函数区别
-
system函数写法更简洁(其实也是对exec函数进行的封装)
- 有一点要注意就是exec族函数如果调用当前目录下的可执行程序是不需要指定路径,但是system函数即便是当前目录下的可执行程序也需要 ‘’./’’ 指定(和shell命令用法一样)
-
system调用结束后返回接着执行原来的代码,而execl函数在调用成功之后执行完后不会返回
-