繁体   English   中英

错误使用execlp函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM