ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C ~ 命令行参数

2021-12-26 21:30:22  阅读:153  来源: 互联网

标签:双引号 argv 参数 命令行 printf argc


命令行参数

        执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。
        命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:

#include <stdio.h>

int main(int argc, char* argv[])
{
	if (argc == 2)
		printf("The argument supplied is %s\n", argv[1]);
	else if (argc > 2)
		printf("Too many arguments supplied.\n");
	else
		printf("One argument expected.\n");

	return 0;
}

        分别使用一个参数、二个参数、三个参数,编译并执行上面的代码,结果如下:

        应当指出的是,argv[0] 存储程序的名称,argv[1] 是一个指向第一个命令行参数的指针,*argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,argc 将被设置为 2。
        多个命令行参数之间用空格分隔,但是如果参数本身带有空格,那么传递参数的时候应把参数放置在双引号 "" 单引号 '' 内部。

        重新编写上面的实例,向程序传递一个放置在双引号内部的命令行参数:使用一个用空格分隔的简单参数,参数括在双引号中,编译并执行上面的代码,它会产生下列结果:

 

标签:双引号,argv,参数,命令行,printf,argc
来源: https://blog.csdn.net/weixin_60461563/article/details/122158819

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有