bat循环执行带参数_C++:main处理命令行选项/main函数的参数
main函數(shù)參數(shù)
通常,定義main函數(shù)形參列表都是空的,遇到有參數(shù)的main函數(shù)到不知道怎么理解了。
給main函數(shù)傳遞實(shí)參,常見(jiàn)的情況是傳遞命令參數(shù)。
int main(int argc, char *argv[]){......}第二個(gè)形參argv是一個(gè)數(shù)組,它的元素是指向C風(fēng)格字符串的指針;第二個(gè)參數(shù)argc是數(shù)組argv中字符串的數(shù)量。
因?yàn)榈诙€(gè)參數(shù)是數(shù)組,所以main函數(shù)也可以定義為:
int main(int argc,char **argv){......}其中argv指向char*。
當(dāng)實(shí)參傳給main函數(shù)之后,argv的第一個(gè)元素指向程序的名字或者一個(gè)空字符串。
下面我分別從Visual Studio 2015的命令參數(shù)和Windows的cmd控制臺(tái)進(jìn)行mian函數(shù)的實(shí)參傳遞。
具體測(cè)試代碼如下:
#include <iostream>int main(int argc, char **argv) {while (argc-- > 0){//printf("argv[%d]:%sn", argc, argv[argc]);printf("argc:%d,*argv++:%sn", argc,*argv++);//printf("argc:%d,*++argv:%sn", *++argv);} }Visual Studio 2015的命令參數(shù)
命令行參數(shù)是"你 我 他",以空格為分割符。輸出結(jié)果如上圖所示,argc等于3,argv的第一個(gè)元素指向程序的名字。
Windows的cmd控制臺(tái)
1、cmd執(zhí)行.exe可執(zhí)行文件
在此程序的可執(zhí)行文件目錄下打開(kāi)cmd:
目錄:
1、按住Shift鍵,鼠標(biāo)右鍵快捷方式,先打開(kāi)Powershell窗口。2、輸入 start cmd 回車
3、這樣就可以打開(kāi)cmd窗口了,并且cmd的工作目錄就是當(dāng)前的目錄。
命令行語(yǔ)句:
Projectplay.exe 你 我 他 Projectplay 你 我 他2、寫批量運(yùn)行腳本.bat文件運(yùn)行可執(zhí)行文件
批量運(yùn)行文件,文件名為:main測(cè)試.bat
文件內(nèi)容為:
在cmd運(yùn)行.bat文件
或者直接雙擊.bat文件運(yùn)行
好像識(shí)別漢字出現(xiàn)了問(wèn)題,這里只是測(cè)試,能達(dá)到示意main函數(shù)的傳參即可,我就不深究原因了。
如果把漢字改為數(shù)字和字母,則運(yùn)行效果如預(yù)期:
最后:不用指針顯示,用數(shù)組顯示:
#include <iostream>int main(int argc, char **argv) {while (argc-- > 0){printf("argv[%d]:%sn", argc, argv[argc]);//printf("argc:%d,*argv++:%sn", argc,*argv++);//printf("argc:%d,*++argv:%sn", *++argv);} } 數(shù)組輸出注意:
因?yàn)橛弥羔?#xff0c;指針是隨著使用而發(fā)生變動(dòng)的,所以用的時(shí)候要十分注意哦!
指針變動(dòng)后,在用數(shù)組的格式輸出時(shí),相當(dāng)于數(shù)組名已經(jīng)發(fā)生變化了,所以argv[]就一直輸出“他”,而沒(méi)有像上圖的數(shù)組調(diào)用的依次輸出“你 我 他”。
總結(jié)
以上是生活随笔為你收集整理的bat循环执行带参数_C++:main处理命令行选项/main函数的参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: List转JSON格式方法
- 下一篇: 【VC++技术杂谈005】如何与程控仪器