开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:Execv 函数】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/11000
Execv 函数
Execv 函数
execl 函数中l是代表list的意思 ,就是将可执行列表的参数,一个个列出来。execv中v是代表容器的意思,就是将传给可执行程序的参数归纳到一个指针中,第二个参数只需要写数组就可以。
int execv(const char *pathname,char *const argv[]);
代码示例:
注意:如果execv函数位于之前的话,printf语句是不会执行到的。Execv后面的没有p所以第一个参数需要传成路径,v是容器,所以后面的参数必须放置在一个容器中,直接传入容器即可不必一个个传入进去。
#include<stdio.h>
#include<unistd.h>
Int main(int argc ,char *argv[])
{
Char *arg[]={”ls”,”-a”,”-l”,”-h”,NULL};
execv(“/bin/ls”,arg);
printf(“after execv\n”);
return 0;
}
输入语句gcc esecv.c -o execv
/execv
运行结果:
本来是将一个个给ls传入参数,现在是将参数放入数组当中,传一个指针数组即可。