簡體   English   中英

在C ++中執行Shell命令

[英]Execute shell command in c++

我有一個關於在c ++中執行shell命令的問題。 我正在使用Winforms和2008建立一個應用程序。我的應用程序有一個按鈕,單擊該按鈕應將二進制文件解碼為.csv文件。 我可以先解碼到正確的目錄(cd Test_Copy2),然后在命令提示符下執行命令(java -jar tool.jar -b x.fit x.csv)來解碼文件。 我嘗試了很多不同的東西,但不幸的是沒有任何東西可以工作!

我嘗試使用:

system,  _popen,  ShellExecute(NULL, L"open", L"C:\\WINDOWS\\system32\\cmd.exe ", L"java -jar Tool.jar -b x.fit x.csv", L"C:\\Test_Copy2", SW_SHOWNORMAL)

誰能為我提供一個有關如何執行此操作的示例? 我不知道我要去哪里錯,在大多數情況下,命令提示符會打開,但不會執行任何命令!

如果您確實想在cmd.exe實例中運行jar,則需要向cmd.exe添加正確的命令行開關之一,以使其按您希望的方式工作:

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains

例如,您的命令字符串應為:

C:\\WINDOWS\\system32\\cmd.exe /c java -jar Tool.jar -b x.fit x.csv

您可以使用system()函數執行shell命令。 例如: system("DIR")在CMD Shell中執行DIR命令。 開始的默認目錄是.exe文件所在的目錄。 'system(“ PAUSE”)`執行PAUSE命令。 您希望執行的命令應作為常量字符串傳遞給函數。

編輯:

對於您的同類程序,語法(IMO)為:

system("java -jar Tool.jar -b x.fit x.csv")

暫無
暫無

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

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