[英]execute and receive the output of mml command in c++
我有一個接口,可用於在我的solaris Unix中執行mml命令,如下所示:
> eaw 0004
<RLTYP;
BSC SYSTEM TYPE DATA
GSYSTYPE
GSM1800
END
<
當我在命令行上看到eaw <name>
時,它將啟動一個界面,在該界面中我可以執行mml命令,並且可以看到執行的命令的輸出。
我的想法是解析c ++中的命令輸出。 我可以取消一些解析邏輯。但是從如何開始在C ++中執行命令開始呢? 是否有任何預定義的方法來執行此操作。 這應該類似於在c ++中執行sql查詢,但是我們使用其他庫來執行sql查詢。我也不想運行shell腳本或在兩者之間創建臨時文件。
我想要的是在c ++中執行命令並獲得輸出,甚至在c ++中也是如此。 有人可以給我正確的方向嗎?
以下代碼是使用sh
命令完成的。 這會將stdout
重定向到名為“ out”的文件,以后可以讀取該文件以處理輸出。 可以通過管道將對流程的每個命令寫入。
#include <stdio.h>
int main()
{
FILE *fp;
fp = popen("sh > out", "w");
if (fp) {
fprintf(fp, "date\n");
fprintf(fp, "exit\n");
fclose(fp);
}
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.