Main函数参数argc,argv说明
C语言函数大全(m开头)
C语言函数大全(m开头)main()主函数每一C 程序都必须有一 main() 函数, 可以根据自己的爱好把它放在程序的某个地方。
有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。
1. main() 参数在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。
* argc: 整数, 为传给main()的命令行参数个数。
* argv: 字符串数组。
在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0以下的版本, argv[0]为空串("") 。
argv[1] 为在DOS命令行中执行程序名后的第一个字符串;argv[2] 为执行程序名后的第二个字符串;...argv[argc]为NULL。
*env: 安符串数组。
env[] 的每一个元素都包含ENVVAR=value形式的字符串。
其中ENVVAR为环境变量如PATH或87。
value 为ENVVAR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。
Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序的局部变量。
请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下的例子:main()main(int argc)main(int argc, char *argv[])main(int argc, char *argv[], char *env[])其中第二种情况是合法的, 但不常见, 因为在程序中很少有只用argc, 而不用argv[]的情况。
以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数: /*program name EXAMPLE.EXE*/#include#includemain(int argc, char *argv[], char *env[]){int i;printf("These are the %d command- line arguments passed tomain:\n\n", argc);for(i=0; i<=argc; i++)printf("argv[%d]:%s\n", i, argv[i]);printf("\nThe environment string(s)on this system are:\n\n");for(i=0; env[i]!=NULL; i++)printf(" env[%d]:%s\n", i, env[i]);}如果在DOS 提示符下, 按以下方式运行EXAMPLE.EXE:C:\example first_argument "argument with blanks" 3 4 "last but one" stop!注意: 可以用双引号括起内含空格的参数, 如本例中的: " argumentwith blanks"和"Last but one")。
关于main函数的叙述
关于main函数的叙述main函数是C语言中的一个非常重要的函数,它是程序的入口点,也是程序执行的起始点。
在一个C语言程序中,必须有且只能有一个main函数。
本文将从几个方面详细介绍关于main函数的一些重要内容。
main函数是C语言程序的入口函数。
当程序被运行时,操作系统会首先调用main函数开始执行程序。
main函数的定义通常是这样的:int main() {}。
其中,int是main函数的返回类型,表示main 函数执行完毕后会返回一个整数值;main是函数名;空括号表示main函数不接收任何参数。
我们可以根据需要给main函数添加参数,例如int main(int argc, char *argv[]),这样main函数就可以接收命令行参数。
main函数的返回值可以用来表示程序的执行状态。
根据C语言标准,main函数的返回值可以是0或者非0的整数。
返回值为0通常表示程序执行成功,而非0的返回值则表示程序执行失败或出现了错误。
我们可以根据main函数的返回值来判断程序的执行结果,从而进行相应的处理。
比如,在shell脚本中,可以根据程序的返回值来判断是否执行成功。
main函数可以调用其他函数来完成特定的任务。
在C语言中,我们可以在main函数内部调用其他函数,这些函数可以是由我们自己定义的,也可以是系统提供的函数库中的函数。
通过调用其他函数,我们可以将程序的功能模块化,提高代码的可读性和可维护性。
例如,我们可以将一些复杂的计算逻辑封装成一个函数,然后在main函数中调用这个函数来完成相应的计算。
main函数还可以接收命令行参数。
在命令行中执行程序时,可以给程序传递一些参数,这些参数可以在main函数中进行处理。
命令行参数通常以字符串的形式传递给main函数,我们可以使用argc 和argv两个参数来接收这些参数。
其中,argc表示命令行参数的个数,argv是一个指针数组,每个元素指向一个命令行参数的字符串。
C语言命令行参数解析函数
C语言命令行参数解析函数在C语言中,命令行参数是在程序启动时从命令行中传递给程序的参数。
这些参数可以用来指定程序的行为,例如传递文件名、启用一些功能等。
C语言通过main函数的参数来获取命令行参数,通过解析这些参数可以实现参数的验证、处理等功能。
C语言的main函数定义如下:```cint main(int argc, char *argv[])```其中,argc表示命令行参数的个数,argv是一个指向指针数组的指针,每个指针都指向一个字符串,即命令行参数的值。
命令行参数的格式一般为 `程序名参数1 参数2 ...` ,参数与参数之间使用空格或制表符分隔。
例如:`./myprogram -f filename.txt -l`。
为了更方便地解析命令行参数,可以编写一个解析函数来处理。
下面是一个简单的命令行参数解析函数的实现:```c#include <stdio.h>#include <string.h>void parseArguments(int argc, char *argv[])for (int i = 1; i < argc; i++)//判断当前参数是否为选项if (argv[i][0] == '-')//处理选项switch (argv[i][1])case 'f'://参数以选项后的字符串形式存在printf("文件名:%s\n", argv[i+1]);i++;//跳过下一个参数break;case 'l':printf("启用l选项\n");break;case 'h':printf("启用h选项\n");break;default:printf("未知选项:%c\n", argv[i][1]); break;}}else//处理非选项参数printf("参数:%s\n", argv[i]);}}int main(int argc, char *argv[])parseArguments(argc, argv);return 0;```上述函数中,首先通过一个for循环遍历命令行中的所有参数。
main函数中的参数argc和argv
main函数中的参数argc和argv
和京东评论
main函数中的参数argc和argv成为程序代码中不可缺少的元素,广泛用于编程语言,特别是c/c++中。
它们是函数的两个参数,分别指argc和argv,即参数个数和参数值。
argc是一个参数,即参数的个数,也就是说告诉编译器主函数所需要的参数个数,其值可以是任意值,但通常为0或者一个以上的正整数。
参数argc的值会影响另一个参数argv的值。
argv是一个参数,即参数值,它也是一个数组,用来存储用户在执行程序时传递给程序的参数。
argv是一个包含字符串值的数组,数组的每一个元素都是一个指向字符串值的指针,其中存储着子程序所需要的信息。
例如,用户可以在执行程序时传递文件名及路径,这些信息就可以存储在argv中,对程序的运行起到促进作用。
总的来说,main函数中的参数argc和argv是编写代码时不可或缺的参数,它们分别用来指定函数的参数个数和参数值,可以为程序提供必要的信息,从而促进程序的运行效率。
main函数的参数详解
main函数的参数详解1、定义C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。
因此,main函数的函数头可写为:main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。
加上形参说明后,main函数的函数头应写为:int main (int argc,char *argv[]){…} int main (int argc,char **argv){…}其中第一个argc表示参数的个数;第二个参数中argv[0]为自身运行目录路径和程序名,argv[1]指向第一个参数、argv[2]指向第二个参数……完整程序如下:#include <iostream>#include <string>using namespace std;int main(int argc, char **argv){string str;cout<<'argc:'<<argc<<endl;for (int i = 0; i != argc; i){cout << 'arg[' << i << ']' << argv[i] << endl;}return 0;}2、执行由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值。
那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。
当我们要运行一个可执行文件时,在Linux运行时,后面跟上参数即可把这些实参传送到main的形参中去。
在Linux下运行上面的程序结果为:可以看出:arg[0]是程序的名称,后面的参数,从arg[1]开始都按顺序存放在字符数组中,argc数至少是1个。
带命令行参数的main函数详解
带命令⾏参数的main函数详解C的设计原则是把函数作为程序的构成模块。
main()函数称之为主函数,⼀个C程序总是从main()函数开始执⾏的。
⼀、main()函数的形式在最新的 C99 标准中,只有以下两种定义⽅式是正确的: (参阅ISO/IEC 9899:1999 (E) 5.1.2.2.1 Program startup)int main( void )--⽆参数形式{...return 0;}int main( int argc, char *argv[] )--带参数形式{...return 0;}int指明了main()函数的返回类型,函数名后⾯的圆括号⼀般包含传递给函数的信息。
void表⽰没有给函数传递参数。
关于带参数的形式,我们等会讨论。
浏览⽼版本的C代码,将会发现程序常常以 main()这种形式开始。
C90标准允许这种形式,但是C99标准不允许。
因此即使你当前的编译器允许,也不要这么写。
你还可能看到过另⼀种形式:void main() 有些编译器允许这种形式,但是还没有任何标准考虑接受它。
C++ 之⽗ Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表⽰:void main( ) 的定义从来就不存在于 C++ 或者 C 。
所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。
坚持使⽤标准的意义在于:当你把程序从⼀个编译器移到另⼀个编译器时,照样能正常运⾏。
⼆、main()函数的返回值从前⾯我们知道main()函数的返回值类型是int型的,⽽程序最后的 return 0; 正与之遥相呼应,0就是main()函数的返回值。
那么这个0返回到那⾥呢?返回给操作系统,表⽰程序正常退出。
因为return语句通常写在程序的最后,不管返回什么值,只要到达这⼀步,说明程序已经运⾏完毕。
⽽return的作⽤不仅在于返回⼀个值,还在于结束函数。
现在我们来做⼀个⼩试验(注意:本⼈的系统是Windows XP, 编译环境是TC)来观察main()函数的返回值。
main函数的正确格式
main函数的正确格式 main函数称之为主函数,⼀个C程序总是从main()函数开始执⾏的。
在关于C语⾔的⽹贴和图书中,可以看到main函数的多种格式,这些格式,有的是正确的,有的是不正确的,为了避免错误,现归纳整理如下。
⼀、main函数头的格式: 1.int main(int argc, char *argv[]) 推荐指数:★★★★★ 有参数的格式,这是符合C89、C99标准的写法。
第⼀个参数argc(argument count)是命令⾏中的字符串个数。
第⼆个参数argv(argument value)是⼀个指针数组,⼀般程序名赋值给argv[0],从argv[1]开始对各个参数依次赋值。
如执⾏命令:dir /a /p 则:argc=3,argv[0]=dir,argv[1]=/a,argv[2]=/pint main(int argc, char *argv[]){return0;} 2.int main(void) 推荐指数:★★★★★ ⽆参数的格式,这是符合C89、C99标准的写法。
int main(void){return0;} 3.int main() 推荐指数:★★★☆☆ ⽆参数的格式,相当于第2种写法,C89标准中允许,常⽤的编译器也⽀持这种写法,但不符合最新的 C99 标准。
int main(){return0;} 4.main() 推荐指数:★☆☆☆☆ ⽆参数的格式,相当于第3种写法,C89标准中允许,但不符合C99 标准。
第⼀版的C语⾔只有int⼀种类型,没有char,long,float等,既然只有⼀种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说main()等同于int main()。
在C99标准中,要求编译器⾄少给 main() 这种⽤法来个警告。
尽管这种写法也能通过编译,但强烈建议不要因为少敲⼏个字母⽽去这么写。
c语言中main的含义
C语言中main的含义简介在C语言中,`m ai n`是一个特殊的函数,是程序执行的起点和入口。
本文将深入探讨`mai n`函数的含义,以及它在C语言程序中的作用。
`main`函数的定义与声明在C语言中,`m ai n`函数的定义和声明如下所示:i n tm ai n(vo id){//执行程序的代码r e tu rn0;}`main`函数的参数无参数形式`m ai n`函数的无参数形式声明如下:i n tm ai n(vo id)这表示`ma in`函数不接收任何参数。
带参数形式`m ai n`函数的带参数形式声明如下:i n tm ai n(in ta rg c,c h ar*a rg v[])其中,`ar gc`表示命令行参数的个数,`a rg v`是一个指向字符串数组的指针,每个字符串表示一个命令行参数。
程序入口与起点在执行C语言程序时,操作系统会首先调用`ma in`函数作为程序的入口和起点。
`ma in`函数是程序与操作系统之间的桥梁,通过`ma in`函数,程序开始执行并产生相应的结果。
`main`函数的返回值`m ai n`函数的返回值是一个整数,表示程序的终止状态。
根据惯例,返回值为0表示程序正常终止,而非零值则表示程序异常终止,可以用于表达程序的执行结果。
`main`函数的执行过程`m ai n`函数的执行过程可以分为三个阶段:初始化阶段、执行阶段和清理阶段。
初始化阶段在初始化阶段,操作系统会完成一些必要的准备工作,例如为程序分配内存空间、加载库函数等。
执行阶段在执行阶段,程序会按照`m ai n`函数中编写的代码逐行执行,实现程序的功能和逻辑。
清理阶段在执行阶段结束后,操作系统会清理程序运行所占据的内存空间,释放系统资源。
`main`函数的常见用法执行简单程序`m ai n`函数可以用于执行简单的程序,例如打印"H el lo,W o rl d!"等。
#i nc lu de<s td io.h>i n tm ai n(vo id){p r in tf("He ll o,Wor l d!\n");r e tu rn0;}处理命令行参数通过带参数形式的`m a in`函数,我们可以处理命令行参数,实现程序的灵活性和可配置性。
main函数默认参数argc和argv的详解
main函数默认参数argc和argv的详解
int main(int argc, char** argv)
{
int n = 0 , i;
for(i = 1 ; i < argc ; i++)
n = n * 10 + *argv[i]-'0';
printf("%d\n",n);
return 0;
}
若运⾏时输⼊以下命令⾏ tt 12 345 678,则程序运⾏的输出结果是:136
主函数的第⼀个参数argc为整型参数,记下从命令⾏输⼊参数的个数;
第⼆个参数argv是⼀个字符型的指针数组,它的每⼀个元素分别指向命令⾏输⼊的各字符串。
在本例中argc的值为4,argv[0]指向字符串“tt”,argv[1]指向字符串“12”,argv[2]指向字符串“345”, argv[3]指向字符串“678”。
程序中,通过⼀个for循环,遍历了后⾯的三个参数字符串,每次将n⾃乘10,然后累加argv[i]-‘0’,即第i个参数字符串的⾸字符减去‘0’。
⼀个数字字符减去‘0’字符,即可得到这个数字字符的实际数值,因此三次循环的结果是让n的为136。
C语言main函数的利用方式
C语言main函数的利用方式C语言main函数里的参数利用方式在学C语言的时候,咱们或许常常见到int main(int argc,char* argv[])的写法,可是不明白那个argc和argv[]是干什么的,书上也没有讲到。
接下来咱们来学习一下这两个参数的利用。
main()函数是C语言操纵台应用程序的入口函数,确实是程序启动时运行的第一个函数,既然是函数,就能够够带参数,也能够不带。
咱们学C语言的时候,书上的例子都是不带参数的main函数,有关参数的输入都是在程序启动后,用其他函数来执行的。
比如求两个数的最大值,一样的写法是:int max(int a,int b){if(a>=b)return a;else return b;}int main(){int a,b;scanf("%d%d",&a,&b);printf("the max num is:%d",max(a,b));return 0;}如此在程序启动以后,再输入两个数,然后输出最大值。
但是操纵台应用程序以前都是在CMD或DOS命令行下进行挪用的,在挪用那个程序的时候,人们想直接在程序名后面跟上要输入的参数,如此程序一运行就能够输出结果,而不需要在程序启动后再输入各参数,因此需要用到带参数的main函数。
main函数里的形参是固定的格式,系统给咱们规定好了,确实是main(int argc,char* agrv[])两个形参,argc那个形参是用来记录程序启动时就传入的实参个数,argv[]那个形参是字符指针数组,用来记录每一个实参的地址的。
例如:(程序名称为test.exe)在VC++6.0或VS里运行一下,结果如下:因为它是直接就运行了,没有在程序名后跟上参数,因此argc为1,确实是程序本身的名称(包括途径)。
argv[0]就指向程序名那个字符串。
在CMD命令行里先cd到该程序所在的目录,然后挪用它,在程序名后跟上几个参数,然后回车。
idea main函数传递参数
idea main函数传递参数在C++编程中,main函数作为程序的入口,当我们需要传递参数时,就需要使用到命令行参数。
本文将分步骤详细讲解如何在main函数中传递参数。
一、了解命令行参数的概念命令行参数是指在程序运行时,在程序的名称后面添加参数,并由程序处理的数据。
命令行参数通常用于向程序传递信息。
在C++中,main函数原型为:int main(int argc, char* argv[])其中,argc表示传入参数的个数,argv是一个指向字符指针的数组,存储着传入的每个参数值。
argv[0]存储程序名称。
二、传递参数到main函数在命令行中,我们可以使用空格将不同的参数分开,实现向main 函数中传递多个参数的目的。
例如,下面的命令行参数将name和age两个参数传递给main函数:./test name age在这个例子中,argc的值为3,argv数组中存储了程序名称、name和age这三个参数。
三、从main函数中获取命令行参数在main函数中,我们可以通过argv数组获取命令行参数。
下面用一个示例说明:#include <iostream>using namespace std;int main(int argc, char* argv[]){cout << "参数个数为:" << argc << endl;for(int i=0; i<argc; i++){cout << "第" << i << "个参数为:" << argv[i] << endl; }return 0;}在上面的程序中,我们通过for循环遍历argv数组,输出每个参数的值。
如果将上面的命令行参数传递给程序,可以得到以下输出:参数个数为:3第0个参数为:./test第1个参数为:name第2个参数为:age四、将字符串转换为其他类型在实际开发中,我们经常需要将从命令行获取的字符串转换为其他类型,比如int、float等。
vs中使用argc,argv
ห้องสมุดไป่ตู้设置字符编码格式:通过 项目---配置属性---相应的语言(如C++)---常规---使用UNICODE相应文件选择否即可
C++设置OpenMP可用:通过 项目---配置属性---C/C++---语言----OpenMP支持选择是即可
main函数传递参数:通过 项目---属性---配置属性---调试---命令参数惊醒main函数参数的添加,各个参数之间以空格隔开;注意此时添加进去的参数被依次保存为argv[1]、argv[2]……argc也相应进行的增加,其中第一个参数argv[0]是编译器自动传入的生成的.exe所在的路径。之后在main函数中可以通过printf把已经传入的参数个数和相应的参数内容打印出来,此时的参数类型都是字符串类型的,如果需要要进行相应的类型转化。
void main()
main(int argc,char *argv[ ])argv为指针的指针argc为整数char **argv or: char *argv[] or: char argv[][]main()括号内是固定的写法。
下面给出一个例子来理解这两个参数的用法:假设程序的名称为prog,当只输入prog,则由操作系统传来的参数为:argc=1,表示只有一程序名称。
argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog当输入prog para_1,有一个参数,则由操作系统传来的参数为:argc=2,表示除了程序名外还有一个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
当输入prog para_1 para_2 有2个参数,则由操作系统传来的参数为:argc=3,表示除了程序名外还有2个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
argv[2]指向参数para_2字符串。
void main( int argc, char *argv[] )char *argv[] : argv 是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:\VC\Ex1\Debug\Ex1.exe"),从二个元素(argv[1])开始,是每一个参数int argc 表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名main()主函数每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。
有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。
1. main() 参数在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。
c语言 main方法
C语言 main方法什么是main方法?在C语言中,main方法是程序的入口点。
它是一个特殊的函数,用于启动程序并执行主要的逻辑。
当程序被运行时,操作系统会首先调用main方法。
main方法的定义和结构在C语言中,main方法的定义有两种形式:1.int main(void)2.int main(int argc, char *argv[])第一种形式不接受任何参数,而第二种形式接受两个参数:argc和argv。
•argc表示命令行参数的数量。
•argv是一个指向字符指针数组的指针,每个元素都是一个命令行参数的字符串。
以下是一个简单示例:#include <stdio.h>int main(void) {printf("Hello, World!\n");return 0;}在上面的示例中,我们使用了第一种形式的main方法,即不接受任何参数。
程序执行到printf语句时,会输出”Hello, World!“并换行。
最后通过return 0;语句结束main方法。
main方法返回值main方法可以返回一个整数值,通常用于表示程序执行状态或错误码。
一般情况下,返回值为0表示程序正常退出,非零值表示程序发生了错误或异常情况。
以下是一个示例:#include <stdio.h>int main(void) {int result = 42;return result;}在上面的示例中,main方法返回了一个整数值42。
main方法的参数第二种形式的main方法可以接受命令行参数。
命令行参数是在运行程序时通过命令行输入的额外信息。
我们可以在命令行中输入./program arg1 arg2来传递两个参数给程序。
以下是一个示例:#include <stdio.h>int main(int argc, char *argv[]) {printf("Number of arguments: %d\n", argc);for (int i = 0; i < argc; i++) {printf("Argument %d: %s\n", i, argv[i]);}return 0;}在上面的示例中,我们使用了第二种形式的main方法。
C语言命令行参数
C语⾔命令⾏参数在⽀持C语⾔的环境中,可以在程序开始执⾏时将命令⾏参数传递给程序。
调⽤主函数main时,有两个参数,第⼀个参数表⽰运⾏程序时命令⾏中参数的数⽬;第⼆个参数表⽰指向字符串数组的指针,其中每个字符串对应⼀个参数。
main(int argc, char *argv[])argc和argv是习惯性⽤法,可以更改。
argv是⼀个指向指针的指针,这个数组的每个元素都是⼀个字符指针,指向的第⼀个参数就是程序的名称,最后⼀个是NULL。
#include <stdio.h>int main(int argc, char *argv[]){int i;for(i = 1; i < argc; i++)printf("%s%s",argv[i], (i < argc - 1) ? " " : "");printf("/n");system("PAUSE");return0;}将程序编译后⽣成可执⾏⽂件,这⾥命名为ee.exe,路经为D:\。
注意,此代码在编译环境中运⾏是没有效果的,必须在DOS下运⾏。
进⼊DOS环境,进⼊D:\,输⼊ee Hello world将会打印出Hello world按照C语⾔的约定,argv[0]的值是启动该程序的程序名,因此argc的值⾄少为1。
如果argc的值为1,则说明程序名后⾯没有命令⾏参数。
在上⾯的例⼦中,argc的值为3,argv[0]、argv[1]和argv[2]的值分别为“ee”、“Hello”和“world”。
UNIX系统中,C语⾔程序有个公共的约定,以负号开头的参数表⽰⼀个可选的标志或参数。
模式查找程序:#include <stdio.h>#include <string.h>#define MAXLINE 1000int getline(char line[],int max);main(int argc, char *argv[]){char line[MAXLINE];long lineno = 0;int c,except = 0,number = 0,found = 0; while(--argc >0 && (*++argv)[0] == '-')while(c = *(++argv[0]))switch(c){case'x':except = 1;break;case'n':number = 1;break;default:printf("find:illegal option %c\n",c);argc = 0;found = -1;break;}if (argc != 1)printf("Usage:find -x -n pattern\n");elsewhile (getline (line ,MAXLINE) > 0){lineno++;if ((strstr(line ,*argv) != NULL) != except){if (number)printf("%ld:",lineno);printf("%s\n",line);found ++;}}return found;}int getline(char s[] ,int lim){int c,i;for (i = 0;i < lim-1 && (c = getchar())!='\n'; i++ ) s[i] = c;s[i] = '\0';return i;}。
argc,argv表示什么含义。
The value of argc is 7
These are the 7 command-linearguments passed to main:
argv[0]:C:\TURBO\EXAMPLE.EXE
argv[1]:first_argument
argv[2]:argument with blanks
结果是这样的:
The value of argc is 7
These are the 7 command-linearguments passed to main:
argv[0]:C:\TURBO\EXAMPLE.EXE
argv[1]:first_argument
argv[2]:argument with blanks
#include <stdlib.h>
main(int argc, char *argv[])
{
int i;
printf("These are the %d command- line arguments passed to
main:\n\n", argc);
for(i=0; i<=argc; i++)
argc: 整数, 为传给main()的命令行参数个数。
argv: 字符串数组。
在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0以下的版本, argv[0]为空串("") 。
argv[1] 为在DOS命令行中执行程序名后的第一个字符串;
argv[2] 为执行程序名后的第二个字符串;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Main函数参数argc,argv说明
C/C++语言中的main 函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)
int main(int argc, char* argv[])
这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv 存储了
所有的命令行参数。
假如你的程序是hello.exe,如果在命令行运行该程序,(首
先应该在命令行下用cd 命令进入到hello.exe 文件所在目录)运行命令为:hello.exe Shiqi Yu 那么,argc 的值是3,argv[0]是”hello.exe”,argv[1]是”Shiqi”,argv[2]是”Yu”。
下面的程序演示argc 和argv 的使用:
#include int main(int argc, char ** argv) { int i; for (i=0; i 假如上述代码编译
为hello.exe,那么运行
hello.exe a b c d e 将得到
Argument 0 is hello.exe. Argument 1 is a. Argument 2 is b. Argument 3 is c. Argument 4 is d. Argument 5 is e.运行
hello.exe lena.jpg 将得到
Argument 0 is hello.exe. Argument 1 is lena.jpg.================================#include #include #include int main(int argc ,char * argv[]){int i;char arg[6][15]={0};printf(“argc: %d
/n”,argc);for(i=0;i{sprintf(arg[i],”%s”
,argv[i]);}//for(i=1;i//printf(“%s/n”,arg[i]);execlp(“/bin/mkdir”,”mkdir”,arg[1],NULL); return 1;}======================================清单 2. BusyBox 使
用argv[0] 来确定调用哪个应用程序// test.c #include int main( int argc, char。