簡體   English   中英

如何使用C ++與命令提示符(CMD)進行通信?

[英]How can I communicate with Command Prompt (CMD) using C++?

我有一個應用程序,需要向cmd發送命令,然后返回ouput(捕獲輸出)。 如何在不使用任何MS Windows特定API的情況下使用C ++實現這一目標? 有沒有辦法可以做到跨平台(例如對於linux終端)? 順便說一句,我在贏得XP SP3。

我的意思是重定向輸入/輸出。 例如,在cmd上運行命令“make”,然后在錯誤捕獲錯誤消息的情況下(重定向到我的應用程序)。

如上所述:如果您可以避免在程序中啟動子進程,而是適應更廣泛的“工具箱隱喻”,那通常會更好......

http://en.wikipedia.org/wiki/Unix_philosophy

但如果這不適合您的項目,請查看Boost.Process

另外:如果您正在使用Qt(在任何情況下都很好看),還有QProcess

難道你不能只使用C ++提供的常規cin和cout嗎? (當然,如果你的程序是一個GUI程序,除非你調用Windows AllocConsole()命令,否則cin和cout將不會連接到任何有用的東西......但這只是Windows的工作方式。如果你想要編譯的代碼也是如此Linux等,你可以把#ifdef WIN32放在那個調用上)

系統()函數是C89和C99標准的一部分,可在Linux和Windows上使用,並允許在C / C ++中執行命令。

默認情況下,大多數系統從鍵盤獲取標准輸入,因此通常期望cin從用戶獲取信息,盡管在許多情況下可以將其重定向到其他來源。

你可以這樣做:

cout << "How old are you?" << endl;
int age;
cin >> age;

暫無
暫無

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

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