溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言的命令行參數(shù)如何使用

發(fā)布時(shí)間:2022-10-13 15:55:22 來源:億速云 閱讀:176 作者:iii 欄目:編程語言

這篇文章主要介紹“C語言的命令行參數(shù)如何使用”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“C語言的命令行參數(shù)如何使用”文章能幫助大家解決問題。

c語言的命令行參數(shù)非常簡單,只需要一個(gè)簡單的例子就可以說明:

#include <stdio.h>
void main(int argc,char** argv)
{
        printf("%d
",argc);
        printf("%s
",argv[0]);
        printf("%s
",argv[1]);
        printf("%s
",argv[2]);
}

在上面的例子中,我們給main函數(shù)傳遞兩個(gè)參數(shù),argc和argv。argc是int類型的,它表示的是命令行參數(shù)的個(gè)數(shù)。不許要用戶傳遞,它會根據(jù)用戶從命令行輸入的參數(shù)個(gè)數(shù),自動(dòng)確定。argv是char**類型的,它的作用是存儲用戶從命令行傳遞進(jìn)來的參數(shù)。它的第一個(gè)成員是用戶運(yùn)行的程序名字。

     對于上面的例子,我們將其保存為test.c,用gcc編譯生成目標(biāo)文件為test,測試如下:

     (1)我們值在命令行下直接運(yùn)行程序,沒有傳遞其它任何參數(shù):

./test

      運(yùn)行結(jié)果如下:

C語言的命令行參數(shù)如何使用

     第一個(gè)輸出的是argc,因?yàn)槲覀冎惠斎肓?/test,所以argc為1,即只有一個(gè)命令行參數(shù)。后面輸出的第一個(gè)命令行參數(shù)也是./test。接著程序就出錯(cuò)了,因?yàn)楹竺嬉呀?jīng)沒有第二個(gè)和第三個(gè)參數(shù)了,在寫實(shí)際的應(yīng)用時(shí),應(yīng)注意對這一部分進(jìn)行容錯(cuò)處理。

     (2)我們在命令行下輸入:

./test hello world

C語言的命令行參數(shù)如何使用

     可以看到argc為3,第一個(gè)參數(shù)為./test,第二個(gè)參數(shù)為hello,第三個(gè)參數(shù)為world。

     (3)我們繼續(xù)輸入:

./test hello world hello world

C語言的命令行參數(shù)如何使用

     可以看到這時(shí),argc變?yōu)?,argv指數(shù)出了前面三個(gè)參數(shù),當(dāng)然還可以把后面的兩個(gè)參數(shù)也進(jìn)行輸出。

     如果命令行中傳遞的一個(gè)參數(shù)包括空格,就需要用用“ ”將參數(shù)擴(kuò)起來例如

./test "hello world" "hello world"

C語言的命令行參數(shù)如何使用

我們將hello world整體當(dāng)作一個(gè)參數(shù)傳遞,就需要使用“hello  world”。

需要注意的是argv的類型可以是char ** argv,char argv[ ][ ],char* argv[ ]。

關(guān)于“C語言的命令行參數(shù)如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI