代码改变世界

C++ main 参数使用

2012-05-13 23:39  youxin  阅读(1240)  评论(0编辑  收藏  举报

C/C++语言中的main函数,经常带有参数argc,argv,如下:

int main(int argc, char** argv)
int main(int argc, char* argv[])
int main(int argc,  char argv[ ][ ] )
这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。
下面的程序:
#include<stdio.h>
int main(int argc,char **argv)
{
    int i;
    for(int i=0;i<argc;i++)
        printf("Argument %d is %s .\n",i,argv[i]);
    return 0;
}

程序名是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命令进入到 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.
har *argv[]    :    argv是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:\VC\Ex1\Debug\Ex1.exe"),从二个元素(argv[1])开始,是每一个参数  . 
int    argc    表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名

c++  建工程时使用  命令行参数

最简单最有效的调试方式:用 cout 多输出调试

 1.新建工程test时:

 (1)默认所有源文件和输入文件放在test目录下

 (2)默认输出文件放在test//test目录下

 

 命令行输参数 跑程序

(1) 在项目属性--配置属性--调试--命令目录中输入参数,然后在程序中写读入命令行参数即可:

 如 E:\intern\Readtogroup4\out_cylinder.txt out.txt out_parallel.txt (一个输入,两个输出)

(2)注意:多个参数用空格割开,写目录时最好用//(肯定不会出问题),不用/(偶尔可能会出问题)

(3)文件命名时最好不用空格,否则在引用时要加上“”,把地址全都括起

 

重新整理源文件时:

(1)仅仅写函数时,注意在头文件中声明函数(加;)

(2)不要重复include,所用的系统文件放在响应的头文件中即可