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