[C++][基础概念]main函数中的参数argc和argv的含义和用法
来源:互联网 发布:秋天 知乎 编辑:程序博客网 时间:2024/05/16 09:41
注:这篇博客主要是转载http://blog.csdn.net/dcrmg/article/details/51987413,但同时也加入了自己的理解和总结。
一、概念
argc是argument count的缩写,表示传入main函数的参数的个数;
argv是argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的路径和名称,因此,需要我们传入main函数的参数个数应该是argc-1个;
二、使用方法
1.通过命令提示符传入
首先需要打开命令提示符窗口,点击开始菜单在“搜索程序和文件”里输入命令“cmd”或者直接按快捷键 Windows+R 在弹出的对话框里输入“cmd”即可打开命令提示符窗口:
打开命令提示符窗口后需要输入生成的exe文件所在的完整路径,一个简便的方法是把exe文件直接拖入提示符窗口即可,
之后输入传入参数,以空格分隔,之后回车,显示如下:
如果你坚持要手工输入完整路径的话,你会发现等你“Ctrl+C”路径后,在提示符窗口中按“Ctrl+V”却不能粘贴,这时候可 以在窗口中右键单击一下试试,你会发现右键菜单里的粘贴功能还是有效的。
2.在VS中如何传入参数
右击项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开。
之后点击确定并应用,运行之后显示如下:
三、需要注意的地方
1.我们可以通过规范一些字母来表示输入参数的意义,再通过switch函数来传入到变量中。
例如,我们规定:
/s后面加的是一个字符串
/i后面加的是数字
/a后面加的是数组(注意每一个空格便表示一个参数,故传入数组时不要"1 2 3",而是应该"1,2,3")
还有一点需要注意的是传入的都认为是字符串型,如需要还得转化类型。
我设置的参数为:
/sMakeLifeBetter /i10 /a1,2,3,4
代码如下
#include<iostream>using namespace std;int main(int argc, char* argv[]) {char string[256];int num;int array[256];int arrayLen;int m,n;int tempNum;char tempStr[256];cout << argc << endl;for (int i = 0;i < argc;i++)cout << argv[i] << "\n";cout << endl;if (argc != 4) {cout << "输入参数有问题" << endl;system("pause");return 0;}for (int i = 1;i < 4;++i) {switch (argv[i][1]) {case's':strcpy_s(string, 256, argv[i] + 2);cout << "s:" << string << endl;break;case'i':num = atoi(argv[i] + 2);cout << "i:" << num << endl;break;case'a':arrayLen = strlen(argv[i]);n = 0;//for (m = 2;m < arrayLen;) {tempNum = atoi(argv[i] + m);_itoa_s(tempNum, tempStr, 10, 10);array[n] = tempNum;n++;m += strlen(tempStr) + 1;}//测试输出arraycout << "array:" << endl;for (m = 0;m < n;m++)cout << array[m] << " ";cout << endl;break;default:cout << "输入参数有问题" << endl;}}system("pause");return 0;}输出结果截屏:
- [C++][基础概念]main函数中的参数argc和argv的含义和用法
- main函数中的参数argv和argc变量的含义
- C/C++ 中的main函数的argc和argv参数
- 【C/C++】main函数的参数argc和argv
- main函数的参数:argc和argv
- [C/C++基础知识] main函数的参数argc和argv
- [C\C++基础知识] main函数的参数argc和argv
- c语言main函数的argc和argv[]参数问题
- C++ main函数中参数argc和argv含义及用法
- C++ main函数中参数argc和argv含义及用法
- <opencv学习> main函数中参数argc和argv含义及用法
- C++ main函数中参数argc和argv含义及用法
- C++ main函数中参数argc和argv含义及用法
- main函数中argc和argv含义
- 7.1.8 main函数带参数,参数argc和argv的含义
- C++中main()函数中argc和argv的含义
- main函数中的两个参数argc和argv
- main函数中的参数int argc和char* argv[]
- POJ
- Android Studio 2.1 和 Unity3D 5.3.4 交互(二)
- STL 中的map与multimap
- python不足之处总结
- 402. Remove K Digits
- [C++][基础概念]main函数中的参数argc和argv的含义和用法
- [Swift]WKWebView用法介绍
- 中南大学第十一届大学生程序设计竞赛-COJ1898-复盘拉火车
- Hmz 的女装 详细题解
- Android数据存储和访问
- java对象克隆一个新类以及两个类对比是否相等
- python2与python3的版本差别
- LeetCode 55. Jump Game
- 数位DP(ZOJ 3777,Problem Arrangement)