如何读取输出并从c程序输入程序?

时间:2009-05-29 03:41:27

标签: c windows input system

这是参考以下问题:

Execute program from within a C program

如何在Windows上使用Tiny C编译器执行相同的操作? 我需要执行一个.exe来自c程序,并通过使用文件或字符串作为源从同一个C程序中输入它,并将其输出读取到字符串或文件中。我一直在使用system()frunction。任何建议或例子都是受欢迎的。谢谢提前

2 个答案:

答案 0 :(得分:3)

如果您没有popen()等,或者您想避免复杂性,最简单的方法是简单地编写数据文件,例如。 infile with fwrite()用system()执行外部程序,然后读出outfile。

system("prog.exe <infile >outfile") 

您的prog.exe只需要读取标准输入并写入标准输出。

这样您就可以使用输入/输出文件的内容轻松测试它。 您通常会在tmp目录中执行此操作,然后在完成后将其删除。

唯一需要注意的是.exe

的路径

答案 1 :(得分:1)

Google for“windows popen”,你会发现这个链接:

lists.trolltech.com/qt-interest/1999-09/thread00282-0.html

C运行时库也有_popen(),但我建议反对它。