从另一个程序

时间:2016-05-07 10:44:35

标签: c++ input

我有一个C#程序(称之为A),它拍摄照片并将其转换为2d数组值。我还有一个c ++(称之为B)程序,它使用矩阵类型作为输入。我想要做的是用B编写的代码调用A.我不知道如何为A指定输入(不知道是否可能以任何方式)。我找到的唯一解决方案是有一个目录,其中我有一张照片和一个首先打开的文件,当它被调用时被A打开并被A关闭,而B再次打开并阅读它。 问题是:有没有办法为从另一个程序调用的程序提供输入?

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用管道。在终端,它看起来像这样:

programA < image | programB

答案 1 :(得分:0)

许多方法可以将输入从一个程序传递到另一个程序。

  • 将文件写入一个程序并在另一个程序中读取。
  • 创建一个共享内存区域并将数据存储在那里(例如在Posix上使用boost::shared_memoryshm_open,或在Windows上使用CreateFileMapping

  • 将数据写入一个程序中的stdout,从另一个程序中的stdin读取并将两个程序一起管道。

  • 创建管道并将数据写入管道的一端,并从另一端读取。
  • 让一个程序侦听套接字,另一个程序向其发送数据。
  • 更多

根据用途,所有这些都可以是合适的,但我会坚持编写一个文件来开始。它使单独测试和调试这两个程序变得更加容易。我没有使用固定的目录和文件名,而是写入文件,然后在命令行上使用文件名调用B.

相关问题