日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)C語言教程:C語言命令行參數(shù)

執(zhí)行程序時(shí),可以從命令行傳值給 C 程序。這些值被稱為命令行參數(shù),它們對程序很重要,特別是當(dāng)您想從外部控制程序,而不是在代碼內(nèi)對這些值進(jìn)行硬編碼時(shí),就顯得尤為重要了。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供容城網(wǎng)站建設(shè)、容城做網(wǎng)站、容城網(wǎng)站設(shè)計(jì)、容城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、容城企業(yè)網(wǎng)站模板建站服務(wù),十余年容城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

命令行參數(shù)是使用 main() 函數(shù)參數(shù)來處理的,其中,argc 是指傳入?yún)?shù)的個(gè)數(shù),argv[] 是一個(gè)指針數(shù)組,指向傳遞給程序的每個(gè)參數(shù)。下面是一個(gè)簡單的實(shí)例,檢查命令行是否有提供參數(shù),并根據(jù)參數(shù)執(zhí)行相應(yīng)的動(dòng)作:

#include 

int main( int argc, char *argv[] )  {
   if( argc == 2 ){
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ){
      printf("Too many arguments supplied.\n");
   }
   else{
      printf("One argument expected.\n");
   }
}

使用一個(gè)參數(shù),編譯并執(zhí)行上面的代碼,它會產(chǎn)生下列結(jié)果:

$./a.out testing
The argument supplied is testing

使用兩個(gè)參數(shù),編譯并執(zhí)行上面的代碼,它會產(chǎn)生下列結(jié)果:

$./a.out testing1 testing2
Too many arguments supplied.

不傳任何參數(shù),編譯并執(zhí)行上面的代碼,它會產(chǎn)生下列結(jié)果:

$./a.out
One argument expected

應(yīng)當(dāng)指出的是,argv[0] 存儲程序的名稱,argv[1] 是一個(gè)指向第一個(gè)命令行參數(shù)的指針,*argv[n] 是最后一個(gè)參數(shù)。如果沒有提供任何參數(shù),argc 將為 1,否則,如果傳遞了一個(gè)參數(shù),argc 將被設(shè)置為 2。

多個(gè)命令行參數(shù)之間用空格分隔,但是如果參數(shù)本身帶有空格,那么傳遞參數(shù)的時(shí)候應(yīng)把參數(shù)放置在雙引號 "" 或單引號 '' 內(nèi)部。讓我們重新編寫上面的實(shí)例,有一個(gè)空間,那么你可以通過這樣的觀點(diǎn),把它們放在雙引號或單引號""""。讓我們重新編寫上面的實(shí)例,向程序傳遞一個(gè)放置在雙引號內(nèi)部的命令行參數(shù):

#include 

int main( int argc, char *argv[] ){
   printf("Program name %s\n", argv[0]);
   if( argc == 2 ){
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ){
      printf("Too many arguments supplied.\n");
   }
   else{
      printf("One argument expected.\n");
   }
}

嘗試一下

使用一個(gè)用空格分隔的簡單參數(shù),參數(shù)括在雙引號中,編譯并執(zhí)行上面的代碼,它會產(chǎn)生下列結(jié)果:

$./a.out "testing1 testing2"

Progranm name ./a.out
The argument supplied is testing1 testing2

main 的兩個(gè)參數(shù)的參數(shù)名如下:

int main( int argc, char *argv[] )

并不一定這樣寫,只是約定俗成罷了。但是亦可以寫成下面這樣:

int main( int test_argc, char *test_argv[] )  

任意你喜歡的名字。

但是大部分人還是寫成開頭那樣的,如下:

int main( int argc, char *argv[] )  

當(dāng)前文章:創(chuàng)新互聯(lián)C語言教程:C語言命令行參數(shù)
新聞來源:http://www.dlmjj.cn/article/coggsee.html