我想从C程序(在UNIX中)执行程序。在另一个程序中运行UNIX程序
我给了一个可执行文件(该程序需要在执行过程中输入字符串,并将该输入写入另一个名为sample的文件),并且我想在program.c中执行它,但是通过间接方式给出字符串输入。
对于我创建了一个文件,如下所示:
% vim input
我写的输入文件
content
现在program.c里面以下,
#include<unistd.h>
int main()
{
const char* command = "./exec < input";
execvp(command, NULL);
return 0;
}
当我运行该程序,内容不会输入到示例文件中。
但是当我运行它没有间接的,即
const char* command = "./exec";
然后它的工作原理,并保存在示例文件输入输入。
有人可以告诉我在间接语法中做错了什么。
谢谢。