[笔记] 命令行参数 int main(int argc,char *argv[])
int main(int argc,char *argv[])
// argument count 变量个数 argument values 变量值
C程序的main函数有两个形参*
argc:整数,用来统计运行程序时传给main函数的命令行参数的个数. 程序名本身也是一个参数,所有argc不会小于1.
argv: 命令行参数字符型指针数组的首地址
argv 形参是一个指针数组,这些指针指向表示程序实参的以 null 结尾的字符串。
该数组的每个元素指向传递给 main的参数的字符串表示形式。
argv 参数可以声明为指向类型 char (char *argv[]) 的指针数组,或者声明为一个指针(指向指向类型 char (char **argv) 的多个指针)。
* argv:字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串 ...
argv[argc]为NULL。 //内存分配中最后一NULL结尾
argc是系统管理的,就是说main并不是真正的程序入口,还有一个函数条用它,根据你输入的参数数量设置这个变量.
当然变量名可以随意的取,但类型必须匹配(int char**)
*. char *envp[] 指向环境变量列表以及它们值的指针。 NULL结尾。 //environment
遍历argv[]
// command line parameter.cpp
#include <stdio.h> int main(int argc, char *argv[])
{
int i;
printf("argc=%d\n", argc);
for (i = ; i < argc; i++)
{
printf("argv[%d]: %s\r\n", i,argv[i]);
}
getchar();
return ;
}
1.调试信息中附加参数 传给main函数


//参考来源:
https://docs.microsoft.com/zh-cn/cpp/c-language/argument-description?view=vs-2019
[笔记] 命令行参数 int main(int argc,char *argv[])的更多相关文章
- Linux 编程学习笔记----命令行参数处理
转载请注明出处.http://blog.csdn.net/suool/article/details/38089001 问题引入----命令行參数及解析 在使用linux时,与windows最大的不同 ...
- golang学习笔记 ---命令行参数
os 包以跨平台的方式,提供了一些与操作系统交互的函数和变量.程序的命令行参数可从os包的Args变量获取:os包外部使用os.Args访问该变量. os.Args变量是一个字符串(string)的切 ...
- getopt函数的使用——分析命令行参数
getopt(分析命令行参数) getopt(分析命令行参数) 短参数的定义 返回值 范例 getopt_long 相关函数表头文件#include<unistd.h> 函数声明int g ...
- [Objective-C语言教程]命令行参数(23)
执行时,可以将一些值从命令行传递给Objective-C程序. 这些值称为命令行参数,很多时候它们对程序很重要,特别是当想要从外部控制程序而不是在代码中对这些值进行硬编码时就很有用了. 命令行参数使用 ...
- c语言命令行参数
int main(int argc, char * argv[]) { ..... } argc: 代表启动程序时,命令行参数的个数.C和C++语言规定,可执行程序程序本身的文件名,也算是一个命令行参 ...
- C和指针--命令行参数
1.命令行参数 C程序的main函数具有两个形参,第1个通常称为argc,它表示命令行参数的数目.第2个称为argv,它指向一组参数值.由于参数的数目并没有内在的限制,所以argv指向这组参数值(本质 ...
- windows WTL使用命令行参数
两中方法: 第一种: int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLin ...
- Win32程序支持命令行参数的做法(转载)
转载:http://www.cnblogs.com/lanzhi/p/6470406.html 转载:http://blog.csdn.net/kelsel/article/details/52759 ...
- Win32程序支持命令行参数的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 首先说说Win 32 API程序如何支持命令行参数.Win 32程序的入口函数为: int APIENTRY _tWi ...
随机推荐
- nginx架构分析之 架构
Nginx服务器使用 master/worker 多进程模式. 主进程(Master process)启动后,会接收和处理外部信号: 主进程启动后通过fork() 函数产生一个或多个子进程(work ...
- windows安装IIS不成功的原因
一.背景 之前做过一段时间的实施,因此总结一下IIS安装不成功会有哪些原因导致的,希望给踩坑的人提供思路和帮助. 二.分析原因 1.系统问题,比如Windows家庭版本(独白:我之前花了一天的时间安装 ...
- cloudstack 安装 install for ubuntu
准备工作环境信息 修改dns配置 设置阿里源root@sh-saas-cs-manager-online-01:~# mv /etc/apt/sources.list /etc/apt/sources ...
- [Beta阶段]发布说明
小小易校园微信小程序发布说明 第二版小小易校园小程序发布啦~ 打开微信,点击右上角➕,选择扫一扫,扫描以下二维码即可进入小程序: 版本功能: 上一版功能请参见[Alpha阶段]发布说明. 当前版本的更 ...
- 主题模型TopicModel:主题模型LDA的应用
http://blog.csdn.net/pipisorry/article/details/45665779 主题模型LDA的应用 拿到这些topic后继续后面的这些应用怎么做呢:除了推断出这些主题 ...
- 时间管理GTD
时间管理—重要紧急四象限法则https://www.jianshu.com/p/30b2ab0dc20e<番茄工作法图解>—— 让你的工作高效起来https://www.jianshu.c ...
- shell脚本:批量修改文件名(添加/删除文件名中字符)
添加字符 举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [root@localhost goodboy]# ls adddbbdedf.html baacj ...
- Mysql创建数据库以及用户分配权限
一.创建mysql数据库 1.创建数据库语法 --创建名称为“testdb”数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb DEFAULT C ...
- C++ Map运用实例
C++ Map运用实例 #include <map> #include <string> #include <iostream> #include <ioma ...
- Cassandra开发入门文档第四部分(集合类型、元组类型、时间序列、计数列)
Cassandra 提供了三种集合类型,分别是Set,List,MapSet: 非重复集,存储了一组类型相同的不重复元素,当被查询时会返回排好序的结果,但是内部构成是无序的值,应该是在查询时对结果进行 ...