29.命令行参数

Posted traditional

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了29.命令行参数相关的知识,希望对你有一定的参考价值。

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

int main( int argc, char *argv[] )  
{
   if( argc == 2 )
   {
      printf("The argument supplied is %s
", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.
");
   }
   else
   {
      printf("One argument expected.
");
   }
}
/*
	使用一个参数,编译并执行上面的代码,它会产生下列结果:
		The argument supplied is testing
	使用两个参数,编译并执行上面的代码,它会产生下列结果:
		Too many arguments supplied.
	不传任何参数,编译并执行上面的代码,它会产生下列结果:
		One argument expected
		
	应当指出的是,argv[0] 存储程序的名称,argv[1] 是一个指向第一个命令行参数的指针
	argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,argc 将被设置为 2。
	多个命令行参数之间用空格分隔,但是如果参数本身带有空格,
	那么传递参数的时候应把参数放置在双引号 "" 或单引号 ‘‘ 内部
*/

  

以上是关于29.命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

CreateProcess 和命令行参数

正确使用 Java -D 命令行参数

为啥命令行参数在访问时会产生分段错误?

java基础3-重载+命令行传参+递归+数组+排序

具有带空格的命令行参数的 Perl 脚本

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li