linux怎麼在c語言程式裡執行外部命令

2025-07-28 17:27:36 字數 1599 閱讀 9318

linux執行c語言命令

1樓:網友

linux 自帶gcc,使用命令:

gcc -o target

target 為目標檔名, 如果沒有,則預設為執行如下:

target

2樓:網友

gcc -o 目的檔名 原始檔名。

編譯成功後,在提示符下:

目的檔名。

就可以執行剛編譯好的程式了。

如何在c語言程式設計中呼叫linux系統終端下的命令

3樓:風若遠去何人留

根據呼叫需求,可以分為兩種:

一、僅執行系統命令,不需要該命令的列印結果。

這種情況可以用system函式。形式為。

system(cmd);

其中cmd為char*型別的字串,包含要執行的命令,命令的執行結果會輸出到標準輸出。

比如system("mkdir test");

這個執行,會在當前資料夾下建立test資料夾。

二、需要命令執行的列印。

雖然同樣可以使用system並重定向到檔案,然後開啟檔案讀取,最終刪除檔案。但這樣做比較繁瑣,更好的做法是使用popen。

file *fp = popen(cmd);

執行cmd中的命令,然後可以以c檔案操作方式,讀取命令的輸出結果。比如:

if((fp=popen("pwd","r"))==null)//執行獲取當前目錄的系統命令pwd。

else

在linux環境下對c語言程式編譯連線後執行該程式為什麼在命令列中加./

4樓:網友

./指的是當前目錄,比如當前目錄下有乙個可執行檔案setup,那麼你需要用命令。/setup來執行這個檔案。

如果直接用setup是不行的。為了區分可執行檔案的名字和系統命令,需要這樣的設定。

例如,你的可執行檔名為exit,那麼你直接輸入exit,系統是要退出呢?還是執行exit這個檔案呢?系統會退出!

這就是乙個矛盾,而你輸入。/exit,那麼系統就能夠執行exit這個檔案了。

希望對你有所幫助。

5樓:網友

因為linux有許多環境變數,其中有乙個指定路徑的,你輸入的命令(也包括執行程式的命令),系統先到這些路徑中去查詢,如果其中包含了該語句就執行了,最後都沒有查到才執行當前目錄中的程式,用。/強制執行當前目錄下的程式就是避免這個意外(環境變數指定路徑中與當前目錄中要執行的程式同名),省得執行了乙個程式還搞不清執行的是否當前目錄中要執行的那個了。

6樓:匿名使用者

表示 執行當前目錄下 有執行許可權的檔案~

7樓:顛茄屬

規定這樣的啊,你問一下他們 開發系統的,這個從unix系統就有啊。

如何在c語言程式設計中呼叫linux系統終端下的命令

8樓:網友

用system函式。

如system(「ls -l」);

就是程式執行ls -l系統呼叫。

求個linux下c語言簡單程式,linux下最簡單的c程式怎麼編譯

你這裡用了管道符 這個程式沒辦法寫,因為linux會理解為執行了三個程式 run 11 2233 並且上面三個程式 22和33都被解釋為程式了 輸入輸出互為管道你理解肯定有問題,請再考慮考慮,linux命令列裡面大於號小於號豎線都不是隨便能用的。linux下最簡單的c程式怎麼編譯 gcc g hel...

c語言裡的FOR原理,C語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?

親,是for語句迴圈一次就操作一次,因為它是for語句的乙個巢狀語句,功能就是計算1 2 3 100的值。如果改成 for i 1 i 100 i i sum sum i 那麼就是你說的第二種情況了,即迴圈到for結束才把i的值帶入進去給sum賦值,此時for迴圈的語句體為一空語句。望能幫到您啊!對...

在c語言裡printf怎麼輸出變數

要輸出兩個變數 用逗號隔開即可,d是整數的輸出識別符號,識別符號和變數的順序是相對應的,輸出2個變數的 修改 擴充套件資料 printf 函式是乙個標準函式,它的函式原型在標頭檔案 stdio.h 中,該函式的使用方法如下所示 printf 格式控制字串 輸出變數列表 格式字串的內容和意義如下所示。...