c语言argv函数用法 c语言arc函数

关于C语言Main函数中的参数argc,argv的使用main函数的argc形参代表命令行的参数个数c语言argv函数用法,argv形参用来存储每个参数的字符串 。
例如c语言argv函数用法 , 在命令行中输入example.exe -a -b -c c:\test.txt
则主函数中有-a、-b、-c、c:\test.txt四个参数c语言argv函数用法,故argc=4,argv依次存放每个参数的字符串,即argv[0]="-a",argv[1]="-b",argv[2]="-c",argv[3]="c:\test.txt" 。
int main(int argc, char* argv[])用法详解main函数的参数,经常用的main函数都是不带参数的 。因此main后的括号都是空括号 。实际上c语言argv函数用法,main函数可以带参数c语言argv函数用法,这个参数可以认为是main函数的形式参数 。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv 。因此,main函数的函数头可写为c语言argv函数用法:
main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv(第二个形参)必须是指向字符串的指针数组 。加上形参说明后,main函数的函数头应写为:main (argc,argv)int argv;char *argv[];或写成:main (int argc,char *argv[]),由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值 。那么 , 在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从 操作系统 命令行上获得的 。当c语言argv函数用法我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去 。DOS提示符下命令行的一般形式为: C: /可执行文件名 参数 参数……; 但是应该特别注意的是,main 的两个形参和命令行中的参数在位置上不是一一对应的 。因为,main的形参只有二个,而命令行中的参数个数原则上未加限制 。argc参数表示c语言argv函数用法了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的 。
c语言中argc和argv是什么意思argc: argument counter 参数的个数计数器,其实是命令行里面用空白隔开的字符串个数
argv: argument vector 参数的数组,就是命令行里面按空白分开的各个字符串存放的数组
C语言中argc与argv怎么用?为什么我初始化argc时候老是出错??argc与argv[]是启动C程序时系统传入的,可以直接使用 。argc是参数数量,argv是参数表数组 。如命令行为“prg.exe 1 2 3”,则argc为4,argv[0]="prg.exe",argv[1]="1",argv[2]="2",argv[3]="3" 。以下是LCC-WIN32模板文件(加了一行显示所有参数语句):
/* --- The following code comes from e:\lcc\lib\wizard\textmode.tpl. */
#include stdio.h
#include stdlib.h
#include string.h
void Usage(char *programName)
{
fprintf(stderr,"%s usage:\n",programName);
/* Modify here to add your usage message when the program is
* called without arguments */
}
/* returns the index of the first argument that is not an option; i.e.
does not start with a dash or a slash
*/
int HandleOptions(int argc,char *argv[])
{
int i,firstnonoption=0;
for (i=1; i argc;i++) {
if (argv[i][0] == '/' || argv[i][0] == '-') {
switch (argv[i][1]) {
/* An argument -? means help is requested */
case '?':
Usage(argv[0]);
break;
case 'h':
case 'H':
if (!stricmp(argv[i]+1,"help")) {
Usage(argv[0]);
break;
}
/* If the option -h means anything else
* in your application add code here
* Note: this falls through to the default
* to print an "unknow option" message
*/
/* add your option switches here */
default:
fprintf(stderr,"unknown option %s\n",argv[i]);
break;
}
}
else {

推荐阅读