将终端输出转换为代码

时间:2014-12-21 15:59:37

标签: c linux terminal output

我编写了一个编译并运行外部程序(prog1.c)的程序。我想以某种方式得到prog1.c的输出。
例如,如果prog1.c为printf("HELLO");并将HELLO打印到终端,我希望此输出到达程序或文件中的变量。
我看到某处有关于管道的东西,但我不太了解这个命令,也不知道这是否正确。

任何人都可以帮助我,指导我或给我一个例子吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

使用freopen,您可以将printf输出重定向到文件。

freopen("c:\\output\\output.txt","w",stdout);
printf("write in file using printf"); //this will be printed to file, not to console

如果您想了解更多信息,可以在此处查看我的video tutorial

在这个例子中,我没有使用过管道,而是将标准输出重定向到文件而不是控制台。

答案 1 :(得分:0)

你也可以使用pipe(和fork)将prog1的输出重定向到另一个prog中的输入, 并检查waitpid以捕获返回值