真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

初識(shí)C程序與Linux交互

Linux下程序的返回值

要開(kāi)發(fā)能在Linux下運(yùn)行的C程序工具,對(duì)C程序與Linux的基本交互方式的認(rèn)識(shí)是必不可少的。

業(yè)務(wù)包括:企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、商城開(kāi)發(fā)、網(wǎng)站營(yíng)銷(xiāo)推廣等服務(wù),并且涵蓋主機(jī)域名、網(wǎng)絡(luò)空間、云服務(wù)器、等互聯(lián)網(wǎng)基礎(chǔ)服務(wù);成都創(chuàng)新互聯(lián)公司聯(lián)建站以互聯(lián)網(wǎng)的創(chuàng)新理念,成熟完善的建站體系,開(kāi)拓進(jìn)取的精神,專(zhuān)業(yè)的解決方案和顧問(wèn)咨詢(xún)服務(wù),幫助客戶(hù)在互聯(lián)網(wǎng)時(shí)代提升形象、把握商機(jī)、實(shí)現(xiàn)價(jià)值,提高企業(yè)的核心競(jìng)爭(zhēng)力。

首先需要了解到,在Linux終端中,程序的運(yùn)行都會(huì)有一個(gè)返回值,若該返回值是0,則代表該程序運(yùn)行成功,若返回值是其他數(shù)值,則表示該程序的運(yùn)行出錯(cuò)了,而這個(gè)數(shù)值一般是代表其錯(cuò)誤碼。

使用echo $?命令可以查看上一條命令執(zhí)行后返回的值。

ls
cworkspace  Documents  Music     Public     Videos
Desktop     Downloads  Pictures  Templates
echo $?
0

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

命令一 && 命令二

只有當(dāng)命令一成功運(yùn)行了,即返回值為0的時(shí)候,命令二才會(huì)被執(zhí)行。因此這也是判斷命令執(zhí)行是否成功的一種方式。

C程序的返回值

一般情況下,我們?cè)诰帉?xiě)C的main函數(shù)的時(shí)候,都習(xí)慣在結(jié)尾返回一個(gè)0。其實(shí)這也是為了表示程序的成功運(yùn)行,也就是說(shuō),如果程序運(yùn)行有錯(cuò),我們可以返回除了0以外的其他數(shù)值。

C的返回值就是C程序與Linux進(jìn)行交互的方式之一。

當(dāng)我們對(duì)C程序成功編譯后,得到了可執(zhí)行程序,執(zhí)行該可執(zhí)行程序會(huì)得到一個(gè)返回值,可以使用以上方式進(jìn)行查看。

實(shí)驗(yàn)如下:

創(chuàng)建一個(gè)C程序命名為main.c:

#include 

int main()
{
   printf("successful\n");
   return 0;
}

編譯執(zhí)行并列出目錄下的文件:


gcc main.c -o main.out && ./main.out && ls

執(zhí)行結(jié)果:

successfulmain.c  main.out

修改main.c代碼:


#include

int main()
{
   printf("failed\n");
   return 1;
}

使用同樣的命令執(zhí)行:


gcc main.c -o main.out && ./main.out && ls

結(jié)果:

failed

顯然,由于返回值為1,因此ls命令沒(méi)有被執(zhí)行。

C程序 main() 函數(shù)的參數(shù)

事實(shí)上,C的入口函數(shù)main的完×××式是有兩個(gè)參數(shù)的:


int main(int argv, char* argc[])
{
return 0;
}

其中,第一個(gè)參數(shù)argv表示的是執(zhí)行該程序時(shí)傳入的參數(shù)個(gè)數(shù),第二個(gè)參數(shù)則保存了執(zhí)行該程序時(shí)傳入的參數(shù)。

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


#include

int main(int argv, char* argc[])
{
   printf("argv is %d\n", argv);
   int i;
   for(i=0; i        printf("argc[%d] is %s\n", i, argc[i]);
   }
   return 0;
}

執(zhí)行:


gcc main.c -o main.out && ./main.out && ls

結(jié)果:

argv is 1argc[0] is ./main.outmain.c  main.out

顯然,程序成功執(zhí)行,傳入的參數(shù)有一個(gè),即執(zhí)行可執(zhí)行文件main.out的命令。

此時(shí),若隨意傳入幾個(gè)參數(shù):


./main.out second third && ls

結(jié)果:

argv is 3argc[0] is ./main.outargc[1] is secondargc[2] is thirdmain.c  main.out

總結(jié)

在Linux下,程序的運(yùn)行一般都會(huì)有一個(gè)返回值,返回0則說(shuō)明該程序運(yùn)行成功,可以使用echo $?命令查看,或使用&&驗(yàn)證。因此,C程序可以使用返回值與Linux交互。另外,C程序的main函數(shù)的完整原型是int main(int argv, char* argc[]),可以用來(lái)接收對(duì)C程序傳入的參數(shù)。

了解這些知識(shí)是使用C開(kāi)發(fā)Linux小工具的基礎(chǔ)。


分享題目:初識(shí)C程序與Linux交互
標(biāo)題鏈接:http://weahome.cn/article/jsdcgj.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部