fork+exec的时候怎么重定向到文件输入
比如我想运行一个子程序
pid=fork();
if(pid==0)
{
execlp("./test",(char*)0);
return 0;
}
但是这个程序是标准输入 就是scanf 这种的
如果直接shell执行可以这样
./test<test.in 重定向到从文件读取数据
但是
execlp("./test<test.in",(char*)0);
execlp("./test","<test.in",(char*)0);
execlp("./test","<","test.in",(char*)0);
这些都不行
请问怎么解决
[解决办法]
第一个参数是程序名。 重定向是shell的语法,用sh而不是你的程序。