int main( int argc, char* argv[])参数解析

本文详细解释了C语言中main函数的参数argc和argv的含义及用途,通过实例展示了如何在程序中获取并打印命令行参数,适用于初学者理解和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一些c语言的树种,经常看到有int main( int argc, char* argv[])这种写法,而在 C Premier Plus中,对这两个参数的意义和描述非常少,在 linux 系统命令行中却经常看到。通过查阅一些资料,基本上了解了这些参数的作用。

一、argc、argv的具体含义 
        argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[], char **env ) 中 
        第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。 
        第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组,每一个元素指向一个参数。各成员含义如下: 
        argv[0] 指向程序运行的全路径名 
        argv[1] 指向在DOS命令行中执行程序名后的第一个字符串 
        argv[2] 指向执行程序名后的第二个字符串 
        argv[3] 指向执行程序名后的第三个字符串 
        argv[argc] 为NULL 
        第三个参数,char**型的env,为字符串数组。env[]的每一个元素都包含ENVVAR=value形式的字符串,其中ENVVAR为环境变量,value为其对应的值。平时使用到的比较少。

二、使用visual studio 进行测试

测试代码主要功能是获取输入参数个数,并打印:

#include <stdio.h>

int main(int argc, char* argv[])
{
	int i;

	printf("input %d arguments\n", argc);

	for (i = 0; i <= argc; i++)
	{
		printf("argument %d = %s\n", i, argv[i]);
	}

	(void)getchar();

	return 0;
}

三、windows 命令行测试

编译上述程序后,debug中的文件列表如下:

然后,使用命令行运行程序,并输入一些参数,观察程序输出结果:

可以看到,我们测试时输入了 5 个参数,即:  .\file_Test.exe   aa   bb   cc   dd ,分别为可执行文件路径和 4 个参数。

输出结果中,显示输入了 5 个参数;

数组[0] 存储 exe 路径;

数组[1] 存储输入参数1;

数组[2] 存储输入参数2;

数组[3] 存储输入参数3;

数组[4] 存储输入参数4;

数组[5] 存储 NULL;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值