C和C++中argc和argv的含義及用法詳解
C和C++中argc和argv的含義以及用法
各位小伙伴在接觸C和C++的時(shí)候,總會(huì)看到這樣的東西

很多伙伴應(yīng)該都一直注意到了這兩個(gè)參數(shù),但是很多伙伴編寫(xiě)多年C和C++代碼,還沒(méi)有使用過(guò)這兩個(gè)參數(shù)。argc和argv這兩個(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的含義
argc為argument count的縮寫(xiě),代表參數(shù)的個(gè)數(shù)
argv為argument 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)容等等,這些都是非常有用的。
到此這篇關(guān)于C和C++中argc和argv的含義以及用法的文章就介紹到這了,更多相關(guān)C++ argc和argv內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言中while與do-while的介紹與注意事項(xiàng)
對(duì)于C語(yǔ)言中的while與do-while,相信很多都再熟悉不過(guò)了,最近在工作中就用到了,所以想著總結(jié)一下,方便自己或者有需要的朋友們參考借鑒,文中通過(guò)示例代碼介紹的很詳細(xì),感興趣的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-10-10
適合初學(xué)者練習(xí)的C語(yǔ)言實(shí)現(xiàn)三子棋小游戲
今天這篇文章主要介紹給大家分享一個(gè)適合初學(xué)者練習(xí)的利用C語(yǔ)言寫(xiě)三子棋小游戲,用簡(jiǎn)單的C語(yǔ)言來(lái)實(shí)現(xiàn)小時(shí)候玩的三子棋游戲,下面是人機(jī)對(duì)戰(zhàn),當(dāng)然這個(gè)代碼的電腦對(duì)手是人工智障而不是人工智能 詳細(xì)內(nèi)容就請(qǐng)跟小編一起來(lái)閱讀下面文章內(nèi)容吧2021-10-10
關(guān)于C++使用std::chrono獲取當(dāng)前秒級(jí)/毫秒級(jí)/微秒級(jí)/納秒級(jí)時(shí)間戳問(wèn)題
這篇文章主要介紹了C++使用std::chrono獲取當(dāng)前秒級(jí)/毫秒級(jí)/微秒級(jí)/納秒級(jí)時(shí)間戳,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
C&C++設(shè)計(jì)風(fēng)格選擇 命名規(guī)范
本文難免帶有主觀選擇傾向,但是會(huì)盡量保持客觀的態(tài)度歸納幾種主流的命名風(fēng)格,僅供參考2018-04-04
C++多態(tài)特性之派生與虛函數(shù)與模板詳細(xì)介紹
這篇文章主要介紹了C++多態(tài)的特性派生與虛函數(shù)與模板,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-09-09

