日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

bat循环执行带参数_C++:main处理命令行选项/main函数的参数

發布時間:2023/12/20 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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函数的参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。