如何在我的C程序中运行另一个C程序?

(所有在Linux上运行并通过命令行运行的程序)因此,我希望能够从自己的C程序中运行已编译的C程序,然后能够读取该已编译C程序的输出并获得我的C程序提供该程序的输入。 (还假设我只有其他C程序的编译版本)。我知道system()函数,但是不确定是否可以使用它来读取已编译程序的输出,然后提供自己的输入。

bush200 回答:如何在我的C程序中运行另一个C程序?

您需要在两个程序之间设置inter-process communication机制。有几种方法可以实现此目的:

  • 共享内存/共享文件
  • 消息队列
  • 套接字
  • 管道

关于问题的背景知识并不多,但是从您的描述看来,您的两个进程并行运行并且交换数据不止一次。在这种情况下,您还必须考虑同步问题。

here是有用的介绍。

,

您可以像这样使用<span class="fab fa-flickr"></span> <span class="fab fa-instagram"></span> <span class="fab fa-500px"></span>

system()

system("executable arg1 ... > file.txt"); 是可执行文件的参数列表。 arg1 ...是重定向到文件的可执行文件的输出。可以在分支过程中进行此系统调用。父程序可以等待它。如果需要,同步工具可用于在文件file.txt上启用并发。

本文链接:https://www.f2er.com/3004622.html

大家都在问