2010-11-13 145 views
3

如何從我的C++程序向Linux控制檯(Ubuntu)發出命令,並將一個值(我的命令告訴的值)分配給字符串變量?請給我一個例子,在這個例子中,程序給出了簡單的命令「uname -a」給控制檯並寫入結果。C++中的Linux控制檯命令(gcc編譯器)

對不起我英語不好,我知道它很少。如果有人會用俄語寫他的答案(如果允許的話),我會很高興。我在俄羅斯的資源中尋找我的問題的答案,但什麼都沒發現,你是我最後的希望。

回答

3

您需要的命令是popen。你可以通過在你的shell中輸入man popen來獲得關於它的信息;如果你的Linux發行版運行它的俄文翻譯,它應該以俄文顯示它的信息。

基本上,popen只是打開一個「文件」(流),你可以像使用普通文件一樣工作。這裏有一個如何使用它的例子:

#include <stdio.h> 
int main() 
{ 
    FILE *f; 
    char stuff[100]; 
    f = popen("uname -a", "r"); 
    fgets(stuff, 100, f); 
    printf("%s", stuff); 
    pclose(f); 
} 

上面的代碼沒有任何錯誤處理;您應在閱讀並瞭解the complete manual pagerus)後插入適當的檢查。

+0

非常感謝!我愛stackoverflow.com! – Eimrine 2010-11-13 23:00:23

1

尋找解釋popen(3)庫例程的俄語資源。您將需要使用popen來啓動命令,然後讀取管道以獲取輸出。