【问题标题】:Output of one c++ file as input of the other?一个 c++ 文件的输出作为另一个文件的输入?
【发布时间】:2013-06-08 19:44:49
【问题描述】:

我有两个 C++ 源代码,其中一个代码为指定的输入生成一个数组,而另一个必须使用数组来执行。我想知道如何链接两个 C++ 文件,使第一个文件的输出成为第二个文件的输入?

【问题讨论】:

  • C++ 文件是什么意思?两个单独的程序或项目中只有两个单独的 cpp 文件?它是一个小的数字数组还是一个大的二进制数据数组?
  • 是两个独立的程序,输出的是大二进制数据数组。

标签: c++ input io


【解决方案1】:

由于它们是独立的程序,这意味着它们每个都有一个 main() 函数。因此,您无法将它们链接在一起。但是,您可以做的是使用 shell 将一个程序的输出重定向到另一个程序的输入。例如:

program1 | program2

上面创建了一个所谓的“管道”。它的作用是将 program1 的输出提供给 program2。只有标准输入和标准输出以这种方式重定向。在 C++ 中,这意味着 std::cin 和 std::cout。打印在 std::cerr 或 std::clog 上的任何内容都不会被重定向,因此请确保永远不要在 std::cout 上打印错误、警告或其他状态/信息消息。仅打印有效负载数据并使用 std::cerr 或 std::clog 进行其他操作。

【讨论】:

  • 生成的数组不仅仅是简单的数组,而是一个包含数字和字符串的大二进制数组。
  • @user2406568 尝试读取数据。有关如何做到这一点,请参阅以下答案:stackoverflow.com/q/7587595/856199
【解决方案2】:

Linux:编译这两个文件并使用终端中的管道将第一个二进制文件的内容推送到第二个二进制文件,否则使用套接字。您可以尝试使用二进制流输出数据,第二个二进制文件可以使用相同的将其推入数组的技术..希望对您有所帮助..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2013-08-13
    • 2010-10-15
    相关资源
    最近更新 更多