C語言中 int main(int argc,char *argv[])的兩個(gè)參數(shù)詳解
C語言中 int main(int argc,char *argv[])的兩個(gè)參數(shù)詳解
argc是命令行總的參數(shù)個(gè)數(shù);
argv[]是argc個(gè)參數(shù),其中第0個(gè)參數(shù)是程序的全名,以后的參數(shù)。命令行后面跟的用戶輸入的參數(shù)。
int main(int argc, char* argv[]) { int i; for (i = 0; i<argc; i++) cout<<argv[i]<<endl; cin>>i; return 0; }
執(zhí)行時(shí)敲入
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bbb ccc ddd
輸出如下:
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bbb ccc ddd
--------------------------------------------------------------------
char *argv[]是一個(gè)字符數(shù)組,其大小是int argc,主要用于命令行參數(shù) argv[] 參數(shù),數(shù)組里每個(gè)元素代表一個(gè)參數(shù);
比如你輸入
test a.c b.c t.c 則 argc = 4 argv[0] = "test" argv[1] = "a.c" argv[2] = "b.c" argv[3] = "t.c"
--------------------------------------------------------------------------------------------
argc記錄了用戶在運(yùn)行程序的命令行中輸入的參數(shù)的個(gè)數(shù)。
arg[]指向的數(shù)組中至少有一個(gè)字符指針,即arg[0].他通常指向程序中的可執(zhí)行文件的文件名。在有些版本的編譯器中還包括程序
文件所在的路徑。
int main(int argc, char ** argv) { int i; for (i=0; i < argc; i++) printf("Argument %d is %s.\n", i, argv[i]); return 0; }
在OpenCV的編程中經(jīng)常使用上述main函數(shù)的使用方式,
其中argc代表:輸入的參數(shù)個(gè)數(shù)
其中argv代表:此可執(zhí)行文件的存儲(chǔ)路徑、程序變量
例如:你在D盤下建立了一個(gè)工程,并命名為cvshow,同時(shí)在此工程下建立了一個(gè)名為cvshow的cpp源文件,當(dāng)執(zhí)行程序是將在Debug文件夾下生成show.exe可執(zhí)行文件,當(dāng)然Debug文件位于工程cvshow下,所以可執(zhí)行文件show.exe的存儲(chǔ)路徑為
D:\cvshow\Debug\show.exe,即argv[0]的值
argv[1]、argv[2]、argv[3]一次代表輸入變量,變量以空格相隔開
實(shí)例:
加入輸入變量為:c:\baboon.jpg
那么,argc==1 argv[0]==D:\cvshow\Debug\show.exe argv[1]==c:\baboon.jpg
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++基于OpenCV實(shí)現(xiàn)手勢(shì)識(shí)別的源碼
這篇文章主要介紹了C++基于OpenCV手勢(shì)識(shí)別的實(shí)現(xiàn)源碼,這里用到背景減法模型知識(shí),具體實(shí)例代碼跟隨小編一起看看吧2021-09-09關(guān)于C++數(shù)組中重復(fù)的數(shù)字
這篇文章主要介紹得是關(guān)于C++數(shù)組中重復(fù)的數(shù)字,文章以問題描述得形式,對(duì)問題展開分析用不同得方法去解決問題并附上方法得詳細(xì)代碼,需要的朋友可以參考以下文章得具體內(nèi)容2021-11-11C語言實(shí)現(xiàn)簡(jiǎn)易通訊錄(靜態(tài)版本)的代碼分享
這篇文章主要為大家詳細(xì)介紹了如何錄音C語言實(shí)現(xiàn)一個(gè)簡(jiǎn)易的通訊錄(靜態(tài)版本),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-10-10C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包的完美過程
UDP 是一種無連接、輕量級(jí)的傳輸層協(xié)議,與 TCP 相比,它不提供可靠性、流控制和錯(cuò)誤恢復(fù)機(jī)制,但卻更加簡(jiǎn)單且具有較低的開銷,這篇文章主要介紹了C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包,需要的朋友可以參考下2023-11-11教你在VS2022?MFC程序中調(diào)用CUDA代碼的方法
這篇文章主要介紹了在VS2022?MFC程序中調(diào)用CUDA代碼,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04