本文主要介绍C语言中execl()函数和execlp()函数的简单比较,这是C语言入门学习中的基础知识。有需要的朋友可以参考一下。
语言execl()函数:执行文件函数
头文件:
#包括unistd.h
定义功能:
int execl(const char * path,const char * arg.);
函数说明:execl()用于执行参数path字符串表示的文件路径。下一个参数代表过去的argv(0),argv[1],执行文件时传递。最后一个参数必须以空指针结尾。
返回值:如果执行成功,函数不返回;如果执行失败,直接返回-1,失败原因存储在errno中。
模型
#包括unistd.h
主()
{
execl('/bin/ls ',' ls ','-al ','/etc/passwd ',(char *)0);
}
执行:
/* execute/bin/ls-al/etc/passwd */
-rw-r-r-1 root root 705 Sep 3 13:52/etc/passwd
C execlp()函数:从PATH环境变量中找到文件并执行。
头文件:
#包括unistd.h
定义功能:
int execlp(const char * file,const char * arg,);
函数描述:execlp()会在PATH环境变量指向的目录中搜索与参数文件相匹配的文件名,找到后再执行文件,然后把后面第二个参数作为argv[0],argv[1],最后一个参数必须以空指针结束。
返回值:如果执行成功,函数不返回;如果执行失败,直接返回-1,失败原因存储在errno中。
错误:请参考execve()。
模型
/*执行ls -al /etc/passwd execlp()将找到/bin/ls */
#包括unistd.h
主()
{
execlp('ls ',' ls ','-al ','/etc/passwd ',(char *)0);
}
执行:
-rw-r-r-1 root root 705 Sep 3 13:52/etc/passwd
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。