日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

C和C++中argc和argv的含義及用法詳解_C 語(yǔ)言

作者:INEVGVUP ? 更新時(shí)間: 2022-12-21 編程語(yǔ)言

C和C++中argc和argv的含義以及用法

各位小伙伴在接觸C和C++的時(shí)候,總會(huì)看到這樣的東西

在這里插入圖片描述

很多伙伴應(yīng)該都一直注意到了這兩個(gè)參數(shù),但是很多伙伴編寫(xiě)多年C和C++代碼,還沒(méi)有使用過(guò)這兩個(gè)參數(shù)。argcargv這兩個(gè)參數(shù)看起來(lái)很復(fù)雜,其實(shí)一點(diǎn)都不復(fù)雜,接下來(lái)跟著小編一探究竟吧!

為什么我們自己很少使用到這兩個(gè)參數(shù)

很多伙伴從接觸C語(yǔ)言開(kāi)始,就一直在集成開(kāi)發(fā)環(huán)境里編寫(xiě)代碼。在集成開(kāi)發(fā)環(huán)境中,我們運(yùn)行自己所編寫(xiě)的C語(yǔ)言代碼,只需要點(diǎn)擊相應(yīng)的按鍵即可。但是接觸過(guò)linux系統(tǒng),我們往往就需要用命令行的方式來(lái)編譯和執(zhí)行程序。那么在命令行方式下,此時(shí)這兩個(gè)參數(shù)就很有作用了,能夠非常方便地幫助我們實(shí)現(xiàn)一些功能。下面來(lái)看看具體的含義以及使用方法。

argc和argc的含義

argcargument count的縮寫(xiě),代表參數(shù)的個(gè)數(shù)
argvargument vector的縮寫(xiě),可以理解成參數(shù)序列
編寫(xiě)如下代碼

#include<stdio.h>
  
int main(int argc, char* argv[]){
    printf("The value of argc is %d\n", argc);
    printf("The values of argv are:\n");
    for(int i = 0; i < argc; ++i)
        printf("argv[%d] is %s\n", i, argv[i]);
    return 0;
}

此文件命名為test1.cpp,在linux環(huán)境下使用如下命令進(jìn)行編譯

gcc test1.cpp -o test1

然后執(zhí)行如下命令

./test1 input1.txt input2.txt HaHa 

程序輸出如下

在這里插入圖片描述

從這個(gè)輸出結(jié)果就可以清晰地看出argc和argv的含義。argc就是參數(shù)的個(gè)數(shù),就是命令行中以空格分隔的參數(shù)的個(gè)數(shù),argv就是各個(gè)以空格分隔的參數(shù)字符串,所以很簡(jiǎn)單是吧,我們可以再來(lái)看一下具體有哪些作用。

兩個(gè)參數(shù)的應(yīng)用

很多時(shí)候,我們需要在C代碼中處理文件,那么通過(guò)這種參數(shù)名,可以指定輸入文件名,輸出文件名等等,這樣就非常有用。
還有一種使用較多的就是,通過(guò)這種參數(shù),比如輸入了哪些字符串,來(lái)決定執(zhí)行哪些函數(shù),控制輸出的內(nèi)容等等,這些都是非常有用的。

原文鏈接:https://blog.csdn.net/explorer5568/article/details/127911970

欄目分類
最近更新