【发布时间】:2018-11-10 23:23:35
【问题描述】:
在我的 Linux 终端上,当我输入
pbmtextps cat | pamfile
然后按回车键。
它给了我以下输出,
stdin: PBM raw, 83 by 104
但是,我试图通过在我的主程序中使用 execve() 来调用“pbmtextps”。以下是程序的sn-p:
char* haha[] = {"pbmtextps","cat","|", "pamfile", NULL};
if(execve("pbmtextps",haha, NULL) == -1){
fprintf(stderr, "%s\n", "NOT ok");
}
else{
fprintf(stdout, "%s\n", "OK");
}
程序启动后,程序打印“Not ok”。我在同一终端上的同一目录中运行程序。
【问题讨论】: