C++ main函数的参数

  C++的main函数可以没有输入参数,也可以有输入参数,而且只能有两个参数,习惯上coding如下:

 int main(int argc, char* argv[]) 或者 int main(int argc, char** argv)

  其中,argc = argument count :表示传入main函数的数组元素个数,为int类型,而 argv = argument vector :表示传入main函数的指针数组,为char**类型。第一个数组元素argv[0]是程序名称,并且包含程序所在的完整路径。argc至少为1,即argv数组至少包含程序名。

#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{for(int i=0;i<argc;i++)cout<<argv[i]<<endl;return 0;
}

  一般编译器默认使用argc和argv两个名称作为main函数的参数,但这两个参数如此命名并不是必须的,你可以使用任何符合C++语言命名规范的变量名,但要保证第一个参数类型为int型,第二个参数为char**型,如下图所示。

#include <iostream>
using namespace std;
int main(int count, char* input_parameters[])
{for(int i=0;i<count;i++)cout<<input_parameters[i]<<endl;return 0;
}

  由于main函数不能被其他函数调用,因此不可能在程序内部取得实际值。main函数的参数值是从操作系统命令行上获取的。在window系统中,假如编译链接成的可执行文件为my_project.exe,则在命令提示符(快捷键windows+R,输入cmd)中,键入如下命令(可执行文件 参数 参数 参数 ...):

 my_project.exe jisongxie 1996

  将会传递三个参数给main函数,第一个argv[0]是前面提到的文件名,第二个argv[1]是"jisongxie",第三个argv[2]是“1996”。同理,可以传入更多的参数。在ubuntu系统中,可以通过终端进行相同的操作。

  传入的参数数组类型为char *字符串类型,可以通过atoi,atof函数进行类型的转换。

  1、atoi,即ascii to integer,把字符串转换成int

  2、atof,即ascii to float,把字符串转换成double

  3、atol,即ascii to long int,把字符串转换成long int

  4、atoll,即ascii to long long int,把字符串转换成long long int

  例如上述输入的1996,可以得到如下:

 int year = atoi(argv[2]);  // year = 1996

  因此,通过上述的命令行输入以及程序里面的类型转换,可以通过命令行窗口传入值(字符串和数字)到程序中运行。

main函数中的argc和argv相关推荐

  1. C++ main函数中参数argc和argv

    argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...

  2. C++ main函数中参数argc和argv相关定义与研究

    最近在研究opencv代码,在读取图上时遇到了一些问题.因此把它总结一下,方便学习. argc 则是 argument count的缩写,表示传入main函数的参数个数: argv 则是 argume ...

  3. Main函数中的argc和argv应用举例

     尽管之前写过一篇关于argc,argv方面的文章(http://blog.csdn.net/carson2005/article/details/5766192)但依然有朋友搞不太清楚.所以,这 ...

  4. (转)C++ main函数中参数argc和argv含义及用法

    原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: ...

  5. C++ main函数中参数argc和argv含义及用法( argument count和 argument vector)

    rgc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写(注意:不是argument value的缩写,自己以前理解错了), ...

  6. 加油站 弄懂main函数中的argc和argv

    17th 服务通信_自定义srv调用实现(Python) 16th 服务通信_自定义srv调用实现(C++) 上面两篇博客中都用到了main函数的argc和argv,作为一个非科班出身的搞编程的,C+ ...

  7. Main函数中参数argc,argv说明

    C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,a ...

  8. main函数中的argc和argv是什么意思?

    先看程序: #include<iostream> using namespace std;int main(int argc, char *argv[]) {cout << a ...

  9. c语言中argc的作用,C语言中main函数的参数argc和argv

    参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* arg ...

最新文章

  1. 外媒:英国索尔兹伯里事件中受伤警察已重返工作
  2. Oracle 10g OCP 042 题库 1-30 题 共168题
  3. Spring 的优秀工具类盘点---转
  4. 【数据竞赛】Kaggle GM秘技:树模型初始化技巧
  5. Android Studio 设置编辑器背景颜色
  6. Python实现多行数据读入
  7. Avalonia跨平台入门第八篇之控件的拖放
  8. 泰坦尼克号生存预测入门
  9. SpringBoot系列: 单元测试2
  10. java sftp_JAVA 实现SFTP服务器功能
  11. mac如何安装mysql可视化界面_Mac系统下安装mysql数据库和使用phpMyAdmin可视化
  12. 发那科程序全部输出_如何拷贝FANUC系统全部程序
  13. Windows11快捷键大全 win11常用快捷键介绍
  14. 主板24pin接口详图_老电源也兼容 简单DIY 24Pin转接线
  15. dotnet core error 0x80070057
  16. 如何辨别BGP带宽的真假?
  17. 通过Python获取拉钩招聘网站的公司详细地址
  18. 山东大学计算机考研压分,很坑!考研院校:这些骚操作,你不得不防
  19. 【十八掌●武功篇】第七掌:MapReduce之倒排索引
  20. 鸿蒙系统手机模拟器,鸿蒙系统2.0手机版

热门文章

  1. 获取 JSON 数据得个数 length
  2. 如何查找下载外文文献,超强外文文献检索网站排名
  3. matplotlib之pyplot模块——填充多边形(fill)
  4. OpenStack云计算与HPC之一: 前言和OpenStack与HPC虚拟化
  5. 用Python爬取购物节当天热门商品销量数据,看看大家喜欢什么
  6. leetcode21 合并两个有序链表
  7. 当下非常火的VR全景展示到底是什么?
  8. 推荐算法工程师学习路线及工作指南
  9. python生成单位矩阵_numpy创建单位矩阵和对角矩阵的实例
  10. 〖Docker指南②〗Docker常用命令汇总