[英]Wrong use of execlp function
我试图在使用execlp
函数的Unix环境中编写C程序。 我正在执行tsort
命令(tsort获取一个文本文件作为输入)。
void syserr(char * str)
{
perror(str);
exit(1);
}
int main()
{
int inpfd;
int pipeC[2];
char buffer[4];
execlp("tsort","tsort","t.txt");
syserr("execlp ");
}
错误是:
tsort: extra operand 'AWA\211\377AVI\211\366AUI\211\325ATL\215%\350\a '
Try 'tsort --help' for more information.
我做错了什么?
引用execlp
手册
[...]参数列表必须以NULL指针终止,并且由于它们是可变参数函数,因此必须将该指针强制转换为(char *)NULL 。
你没那么做 尝试:
execlp("tsort","tsort","t.txt",(char*)NULL);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.