c++ main中argc和argv解析

article/2025/10/23 13:28:14

目录

一、概述

二、例子

1、代码

2、编译运行

 3、参数传递方式1      

4、参数传递方式2


一、概述

       argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个。

二、例子

1、代码

        简单用法示例,新建工程键代码:

(1)多字节字符集版本

// testarc2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{for(int i=0;i<argc;i++){cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;}system("pause");return 0;
}

(2)UNICODE字符集版本

// testarc2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{for(int i=0;i<argc;i++){wcout<<"argument["<<i<<"] is: "<<argv[i]<<endl;}system("pause");return 0;
}

(3)解析
     argv是指向指针的指针,main函数的第二个参数“char *argv[]“也可以替换为 “char **argv“,两者是等价的。

2、编译运行

       在编译环境下按F5运行,输出如下:


 3、参数传递方式1      

     可见,在没有参数传入的情况下,保存程序名称的第一个变量argv[0]依然存在。传参数给main函数有两种方法,第一种方式是在编译环境中设置,以vs2010为例,右击项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开。

之后点击确定并应用,运行之后显示如下:

4、参数传递方式2

        第二种方式也是经常会用到的方式是通过命令提示符传入。首先需要打开命令提示符窗口,点击开始菜单在“搜索程序和文件”里输入命令“cmd”或者直接按快捷键 Windows+R,在弹出的对话框里输入“cmd”即可打开命令提示符窗口:打开命令提示符窗口后需要输入生成的exe文件所在的完整路径,一个简便的方法是把exe文件直接拖入提示符窗口即可,之后输入传入参数,以空格分隔,之后回车,显示如下:


http://chatgpt.dhexx.cn/article/WUqNP8nl.shtml

相关文章

c语言argc和argv的作用,c语言中int main(int argc, char argv)中argc和argv的作用

摘要:我们在开发C语言时,经常看到int main(int argc, char *argv[]),但是没有太多的关注于argc和argv这两个参数,其实它们有很多的作用呢。 编写一个计算器 为了简单起见,我在Ubuntu下编写了一个支持个位数“加、减”操作的计算器,我们待会通过这个实例向大家讲解argc和a…

argc 和 argv

argc 是 argument count的缩写&#xff0c;表示传入main函数的参数个数&#xff1b; argv 是 argument vector的缩写&#xff0c;表示传入main函数的参数序列或指针&#xff0c;并且第一个参数argv[0]一定是程序的名称&#xff0c;并且包含了程序所在的完整路径&#xff0c;所以…

php argc argv,argc和argv怎么使用

argc即为argument count的缩写&#xff0c;表示传入main函数的参数个数&#xff1b; argv即为argument vector的缩写&#xff0c;表示传入main函数的参数序列或指针&#xff0c;并且第一个参数argv[0]一定是程序的名称&#xff0c;并且包含了程序所在的完整路径&#xff0c;所以…

c语言argc lt 3,C语言中argc与argv怎么用?为什么我初始化argc时候老是出错??

满意答案 zrc28 2013.07.24 采纳率&#xff1a;59% 等级&#xff1a;12 已帮助&#xff1a;6548人 argc与argv[]是启动C程序时系统传入的&#xff0c;可以直接使用。argc是参数数量&#xff0c;argv是参数表数组。如命令行为“prg.exe 1 2 3”&#xff0c;则argc为4&#xf…

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

参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用: argc 是指命令行输入参数的个数(以空白符分隔) argv存储了所有的命令行参数 假如你的程序是hello.exe,如果在命令行运…

php args argc,Main函数参数argc,argv说明

Wikipedia&#xff0c;自由的百科全书 C/C语言中的main函数&#xff0c;经常带有参数argc&#xff0c;argv&#xff0c;如下&#xff1a; int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用: argc 是指命令行输入参数的个数(以空白符分隔) a…

C和C++中argc和argv的含义以及用法

C和C中argc和argv的含义以及用法 各位小伙伴在接触C和C的时候&#xff0c;总会看到这样的东西 很多伙伴应该都一直注意到了这两个参数&#xff0c;但是很多伙伴编写多年C和C代码&#xff0c;还没有使用过这两个参数。argc和argv这两个参数看起来很复杂&#xff0c;其实一点都…

c++笔记(1):C++中命令行参数argc,argc[ ]究竟是什么

C中命令行参数argc&#xff0c;argc[ ]究竟是什么 1.argc为整数 2.argv为指针的指针&#xff08;可理解为&#xff1a;char **argv or: char *argv[] or: char argv[][] &#xff0c;argv是一个指针数组&#xff09; 注&#xff1a;main()括号内是固定的写法。 3.下面给出一…

关于C++中的argc,argv的使用方法

想必很多人都好奇C中的int argc 和 char **argv 。那我们今天来看看argc,argv的使用方法 1&#xff0c;int argc argc 实际上指命令行接受的参数个数&#xff0c; 比如说&#xff0c;这个程序给的参数是10和21&#xff0c;那么argc的值就是3。为什么是三呢&#xff0c;不是二…

前端面试题整理(一)

1、什么是HTML HTML 指的是超文本标记语言 (Hyper Text Markup Language)&#xff0c;不是一种编程语言&#xff0c;而是一种标记语言&#xff0c;是标准通用标记语言下的一个应用&#xff0c;也是一种规范&#xff0c;一种标准&#xff0c;它通过标记符号来标记要显示的网页中…

《动手学深度学习》—学习笔记

文章目录 深度学习简介起源特点小结 预备知识获取和运行本书的代码pytorch环境安装方式一方式二 数据操作创建运算广播机制索引运算的内存开销NDArray和NumPy相互变换Tensor on GPU&#xff08;PyTorch&#xff09; 自动求梯度MXNetPyTorch 查阅文档 深度学习基础线性回归线性回…

1. Linux系统简介

目录 1.1 操作系统是什么 1.2 Linux是什么,有哪些特点? 1.3 Linux和UNIX的关系及区别 UNIX 的坎坷历史 Linux 的那些往事 UNIX与Linux的亲密关系 UNIX/Linux系统结构 1.4 类UNIX系统是什么鬼? 1.5 Linux中大量使用脚本语言,而不是C语言! C语言并不是最佳选择 脚…

NLP在线医生(一)

1.1 背景介绍 学习目标: 了解智能对话系统的相关背景知识.掌握使用Unit对话API. 什么是智能对话系统&#xff1f; 随着人工智能技术的发展, 聊天机器人, 语音助手等应用在生活中随处可见, 比如百度的小度, 阿里的小蜜, 微软的小冰等等. 其目的在于通过人工智能技术让机器像人类…

计算机网络自顶向下 概念填空整理(完整)

第一章 计算机网络和因特网 1.1 什么是因特网 我们可以从两个角度来回答这个问题&#xff1a;一种是描述组成它的软硬件&#xff1b;另一种是将其视为为分布式应用提供基础服务的联网设施来描述。其实&#xff0c;第一种角度&#xff0c;是从它的组成来描述&#xff0c;第二种…

计算机网络期末复习攻略

计算机网络期末复习攻略 一、名词解释 IP&#xff1a;Internet Protocol 网际互连协议 IPCP&#xff1a;IP Control Protocol IP控制协议 ARP&#xff1a;Address Resolution Protocol 地址解析协议 RARP&#xff1a;Reverse Address Resolution Protocol 逆地址解析协议 …

《计算机网络自顶向下》笔记

【自用】转自&#xff1a;https://blog.csdn.net/qq_39326472/article/details/88089747 目录 第一章 计算机网络和因特网 1.1 什么是因特网 1.1.1 组成描述 1.1.2 服务描述 1.1.3 协议 1.2 网络的边缘 1.2.1 接入网 1.2.2 物理媒体 1.3 网络核心 1.3.1 分组交换 1.3.2 电路交换…

java面试技术栈

java基础 数据结构 排序算法 算法分类 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a;通过比较来决定元素间的相对次序&#xff0c;由于其时间复杂度不能突破O(nlogn)&#xff0c;因此也称为非线性时间比较类排序。非比较类排序&#xff1a;不通过比…

深入探索 Android 网络优化(一、网络筑基篇,为什么Flutter能最好地改变移动开发

专用网络 某些部队、组织或者某些人 为了满足特殊业务需求而建立起来的特殊的网络,例如军队、铁路、银行都有自己的专用网络。 二、网络历史演进 1、世界互联网发展历史演进 1)、单个网络 ARPANET,1969年美国国防部创建的一个网络,可以连接周围的计算机。 计算机直接…

637道Java面试题(含答案)

作者&#xff1a;蝉沐风 关注公众号「蝉沐风」&#xff0c;回复「面试题」三个字 &#xff0c;获取更多面试题&#xff0c;这篇文章只是冰山一角 面试题持续整理中&#xff0c;关注「蝉沐风」之后添加个人微信&#xff0c;拉你进技术群&#xff0c;不定期分享好几吨的Java视频教…

【个人笔记 | Pytorch课程 | 整理中ing】

【小土堆】 小土堆课程视频 笔记others&#xff1a; 入门与Dataset数据加载 【入门/数据/预处理】 pycharm 安装&#xff1a;https://www.jetbrains.com/pycharm/、指南、 可以在右上写代码&#xff0c;可以在左下控制台写程序(一般用于调试) conda-Pytorch 深度学习…