初識C程式與Linux互動

2021-08-10 12:47:22 字數 2102 閱讀 9118

要開發能在linux下執行的c程式工具,對c程式與linux的基本互動方式的認識是必不可少的。

首先需要了解到,在linux終端中,程式的執行都會有乙個返回值,若該返回值是0,則代表該程式執行成功,若返回值是其他數值,則表示該程式的執行出錯了,而這個數值一般是代表其錯誤碼。

使用echo $?命令可以檢視上一條命令執行後返回的值。

ls

cworkspace documents music public videos

desktop downloads pictures templates

echo $?

0

另外還需要了解到的是 && 的使用:

命令一 && 命令二

只有當命令一成功執行了,即返回值為0的時候,命令二才會被執行。因此這也是判斷命令執行是否成功的一種方式。

一般情況下,我們在編寫c的main函式的時候,都習慣在結尾返回乙個0。其實這也是為了表示程式的成功執行,也就是說,如果程式執行有錯,我們可以返回除了0以外的其他數值。

c的返回值就是c程式與linux進行互動的方式之一。

當我們對c程式成功編譯後,得到了可執行程式,執行該可執行程式會得到乙個返回值,可以使用以上方式進行檢視。

實驗如下:

建立乙個c程式命名為main.c:

#include 

int main()

編譯執行並列出目錄下的檔案:

gcc main.c -o main.out && ./main.out && ls
執行結果:

successful

main.c main.out

修改main.c**:

#include 

int main()

使用同樣的命令執行:

gcc main.c -o main.out && ./main.out && ls
結果:

failed

顯然,由於返回值為1,因此ls命令沒有被執行。

事實上,c的入口函式main的完整形式是有兩個引數的:

int main(int argv, char* argc)

其中,第乙個引數argv表示的是執行該程式時傳入的引數個數,第二個引數則儲存了執行該程式時傳入的引數。

例如,將main.c修改如下:

#include 

int main(int argv, char* argc)

return

0;}

執行:

gcc main.c -o main.out && ./main.out && ls
結果:

argv is 1

argc[0] is ./main.out

main.c main.out

顯然,程式成功執行,傳入的引數有乙個,即執行可執行檔案main.out的命令。

此時,若隨意傳入幾個引數:

./main.out second

third && ls

結果:

argv is 3

argc[0] is ./main.out

argc[1] is second

argc[2] is third

main.c main.out

在linux下,程式的執行一般都會有乙個返回值,返回0則說明該程式執行成功,可以使用echo $?命令檢視,或使用&&驗證。因此,c程式可以使用返回值與linux互動。另外,c程式的main函式的完整原型是int main(int argv, char* argc),可以用來接收對c程式傳入的引數。

了解這些知識是使用c開發linux小工具的基礎。

c 程式與txt之間的互動

與txt之間建立聯絡 include include include using namespace std int main openfile abcdefg openfile.close system pause return0 程式執行結果,目錄要找好。從txt中逐行讀取內容 include ...

變數與程式互動

變數 變數是什麼?為什麼要有變數 乙個是變 核心在於變化 乙個是量 衡量,計量,表達的一種狀態 變數定於規則 1 只能是數字 字母 下劃線的任意組合 2 不能以數字開頭 3 關鍵字不能作為變數 變數名的定義方式 1 駝峰體 oldboy 2 下劃線 old boy 值的引用計數沒有被引用就會自動 p...

變數與程式互動

變數 變數是什麼?為什麼要有變數 乙個是變 核心在於變化 乙個是量 衡量,計量,表達的一種狀態 變數定於規則 1 只能是數字 字母 下劃線的任意組合 2 不能以數字開頭 3 關鍵字不能作為變數 變數名的定義方式 1 駝峰體 oldboy 2 下劃線 old boy 值的引用計數沒有被引用就會自動 p...