要開發能在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.c main.out
#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顯然,程式成功執行,傳入的引數有乙個,即執行可執行檔案main.out的命令。argc[0] is ./main.out
main.c main.out
此時,若隨意傳入幾個引數:
./main.out second
third && ls
結果:
argv is 3在linux下,程式的執行一般都會有乙個返回值,返回0則說明該程式執行成功,可以使用echo $?命令檢視,或使用&&驗證。因此,c程式可以使用返回值與linux互動。另外,c程式的main函式的完整原型是int main(int argv, char* argc),可以用來接收對c程式傳入的引數。argc[0] is ./main.out
argc[1] is second
argc[2] is third
main.c main.out
了解這些知識是使用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...