gpt4 book ai didi

c - 在 C 中,我编写了一个程序来使用 system() 调用一个 exe。 exe 要求用户输入。如何让我的程序提供输入?

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:24 25 4
gpt4 key购买 nike

我看过这样的帖子,但我找不到我的问题的确切答案。我用 C 语言编写了一个程序,它调用了我通过 system("./program_name"); 编写的另一个 exe。被调用的程序要求用户输入,并根据输入的内容,在屏幕上显示三个字符串之一。

一旦 system("./program_name"); 运行该程序,有什么方法可以让我的程序提供输入吗?我希望这个程序能够通过每次提供不同的输入多次运行另一个程序。然后,我希望程序显示哪些输入导致输出字符串 2。

换句话说,程序 1 要求输入并显示字符串 A、B 或 C。程序 2 使用不同的输入多次运行程序 1,并显示哪些输入导致了字符串 B。

我无法从我的程序中提供输入。

在此先感谢您的帮助!! :)

最佳答案

而不是使用 system,您可能想使用 popen(或者,在 Microsoft 领域,_popen)。这让你打开子程序并且给你一个FILE *,你可以通过它读取子程序的标准输出,或者写入子程序的标准输入(取决于你是否指定“r”或“w”作为打开模式)。尽管不是标准的,但一些相当新的版本允许读取和写入(这听起来像你真的更喜欢)。

如果您不能执行后者,因为您似乎是在 Windows 上执行此操作,您可以/可以使用 CreateProcess 来创建同时重定向输入和输出的子进程。它更加通用,但也很多工作。

关于c - 在 C 中,我编写了一个程序来使用 system() 调用一个 exe。 exe 要求用户输入。如何让我的程序提供输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17395923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com