【发布时间】:2011-09-22 20:55:12
【问题描述】:
我正在尝试从 C 程序(在 UNIX 内部)中执行程序。
我获得了一个名为 exec 的可执行文件(程序在执行期间需要输入字符串并将该输入写入另一个名为 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";
然后它就可以工作了,输入的输入保存在示例文件中。
谁能告诉我在间接语法中做错了什么。
谢谢。
【问题讨论】: