簡體   English   中英

在C中,我編寫了一個使用system()調用exe的程序。 exe要求用戶輸入。 如何讓我的程序提供輸入?

[英]In C, I wrote a program to call an exe using system(). The exe asks for user input. How can I make my program provide the input?

我看過這樣的帖子,但我無法找到問題的確切答案。 我在C中編寫了一個程序,它調用了另一個我寫的system("./program_name"); 被調用的程序要求用戶輸入,並根據輸入內容,向屏幕顯示三個字符串中的一個。

一旦system("./program_name"); 運行程序,有什么方法我也可以讓我的程序提供輸入? 我希望這個程序能夠多次運行另一個程序,每次都提供不同的輸入。 然后,我希望程序顯示哪些輸入導致輸出字符串2。

換句話說,程序1請求輸入並顯示字符串A,B或C.程序2使用不同的輸入多次運行程序1,並顯示哪些輸入導致字符串B.

我堅持能夠提供我的程序的輸入。

在此先感謝您的幫助!! :)

您可能不想使用system ,而是使用popen (或者,在Microsoft-land中, _popen )。 這使您可以打開子程序為您提供一個FILE * ,您可以通過該FILE *讀取子項的標准輸出,或者寫入子項的標准輸入(取決於您是指定“r”還是“w”作為打開模式)。 雖然非標准,但一些合理的近期版本允許閱讀和寫作(聽起來你真的更喜歡)。

如果您不能執行后者,因為您似乎在Windows上執行此操作,您可以/可以使用CreateProcess創建具有重定向輸入和輸出的子項。 這是更靈活,但也有很多更多的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM