use*_*885 2 c iostream ipc stdio
我有一个程序的二进制文件,等待使用scanf输入.我需要编写一个能够模拟键盘输入的C代码.即关闭该二进制文件的stdin指针,并将其重命名为文件.我用过这段代码
int main()
{
FILE *fin;
int result;
char string[80];
close(0);
fin = fopen("text", "r");
if(NULL == fin)
{
printf("Unable to open file.");
return 0;
}
dup(fin);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但我发现每个程序都有自己的stdin指针.有没有办法让我从另一个C程序模拟一个二进制文件的键盘输入?
它不是你正在寻找的程序,它是你的shell的功能:
program < input.txt
Run Code Online (Sandbox Code Playgroud)
这样你就可以将input.txt作为stdin推送到程序中.
如果你想要一个程序,那么你可以运行一个程序并将它的输出重新路由到其他程序输入.