【C/C++】main函数之参数argc和argv含义及用法
初识argc和argv,对其用法甚是困惑,偶得大神“-牧野-”之总结,犹如醍醐灌顶,故转载分享如下,供更多博友学习。
argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针。第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个。
简单用法示例,新建工程键代码:
#include <iostream>
using namespace std;
void main(int argc,char *argv[])
{for(int i=0;i<argc;i++){cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;}system("pause");
}
argv是指向指针的指针,main函数的第二个参数“char *argv[]“也可以替换为 “char **argv“,两者是等价的。
在编译环境下按F5运行,输出如下:
可见,在没有参数传入的情况下,保存程序名称的第一个变量argv[0]依然存在。
传参数给main函数有两种方法,第一种方式是在编译环境中设置,以vs2012为例,右击项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开。
之后点击确定并应用,运行之后显示如下:
第二种方式也是经常会用到的方式是通过命令提示符传入。首先需要打开命令提示符窗口,点击开始菜单在“搜索程序和文件”里输入命令“cmd”或者直接按快捷键 Windows+R,在弹出的对话框里输入“cmd”即可打开命令提示符窗口:
打开命令提示符窗口后需要输入生成的exe文件所在的完整路径,一个简便的方法是把exe文件直接拖入提示符窗口即可,之后输入传入参数,以空格分隔,之后回车,显示如下:
如果你坚持要手工输入完整路径的话,你会发现等你“Ctrl+C”路径后,在提示符窗口中按“Ctrl+V”却不能粘贴,这时候可以在窗口中右键单击一下试试,你会发现右键菜单里的粘贴功能还是有效的。
下一个例子演示使用opencv显示一幅图片:
#include <iostream>
#include <core/core.hpp>
#include <highgui/highgui.hpp>using namespace std;
using namespace cv;void main(int argc,char **argv)
{Mat image=imread(argv[1]);imshow("Lena",image);waitKey();
}
注意读入的参数是argv[1],在命令提示符窗口运行:
最后说明一下:一般编译器默认使用argc和argv两个名称作为main函数的参数,但这两个参数如此命名并不是必须的,你可以使用任何符合C++语言命名规范的变量名作为入参,效果是一样的:
#include <iostream>
#include <core/core.hpp>
#include <highgui/highgui.hpp>using namespace std;
using namespace cv;void main(int value,char **point)
{for(int i=0;i<value;i++){cout<<"argument["<<i<<"] is: "<<point[i]<<endl;}system("pause");
}
转自:https://blog.csdn.net/dcrmg/article/details/51987413
【C/C++】main函数之参数argc和argv含义及用法相关推荐
- C++ main函数中参数argc和argv含义及用法( argument count和 argument vector)
rgc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写(注意:不是argument value的缩写,自己以前理解错了), ...
- (转)C++ main函数中参数argc和argv含义及用法
原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: ...
- C++ main函数中参数argc和argv
argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...
- C++ main函数中参数argc和argv相关定义与研究
最近在研究opencv代码,在读取图上时遇到了一些问题.因此把它总结一下,方便学习. argc 则是 argument count的缩写,表示传入main函数的参数个数: argv 则是 argume ...
- c语言中argc的作用,C语言中main函数的参数argc和argv
参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* arg ...
- Linux中 C++ main函数参数argc和argv含义及用法
Linux中 C++ main函数参数argc和argv含义及用法 简介 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vecto ...
- main函数的参数argc和argv
一.main()函数参数 通常我们在写主函数时都是void main()或int main() {..return 0;},但ANSI-C(美国国家标准协会,C的第一个标准ANSI发布)在C89/C9 ...
- Main函数中参数argc,argv说明
C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,a ...
- [C/C++基础知识] main函数的参数argc和argv
该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助. 一.main()函数参数 通常我们在写主函数时都是vo ...
最新文章
- usaco Beef McNuggets
- 使用 GitHub, Jekyll 打造自己的免费独立博客
- GitLab 在多分支中的一个push
- 大刚二开emlog模板超级帅-全版本兼容-修复各种bug
- linux创建文件结构体,Linux file 结构体和 inode 结构体,Go语言入门技术,Go语言基础...
- ZooKeeper学习第一期---Zookeeper简单介绍
- 大道至简-第一张 伪代码
- openssl加解密原理
- 无线网卡mac地址修改
- 怎么才能免费下载CSDN资源啊
- 三菱modbusRTU通讯实例_三菱FX5U以太网通讯功能有哪些?
- Java学习网站推荐
- 比较完整的熊猫烧香解决方案
- Android 10 LED 驱动开发
- 大芒果 mysql 断开_大芒果3.3.5进入显示 与服务器断开连接
- k 均值算法(k-means)
- 2022妈妈杯移动通信网络站址规划和区域聚类问题D题思路导读,你还在用kmeans?
- 多级评论单表结构设计
- Python常用函数总结(按照字母顺序)
- 计算机英语第四版可可英语翻译,专四英语作文高分范文背诵(MP3+中英字幕)第28篇:计算机和人翻译...
热门文章
- shell脚本字符串截取
- 计算机的来源知识,如何理解计算机知识及计算机发展史
- java 实现set_js 实现JAVASET
- python读取ini文件utf-16 le_Python文件编码不可以使用UTF16
- 双向链表删除节点时间复杂度_删除链表的节点(剑指offer第十七题)
- win7系统升服务器版本,WIN7专业版可update补丁,WIN7旗舰版无法update补丁,WSUS服务器是按windows类型还是版本区别updata的还是其他什么方式...
- Deep Neural Networks的Tricks
- 结果集(ResultSet)用法
- Python公众号开发部分代码开源
- 新的一年,请以这样的标准完善自我