argc和argv怎么使用
1、首先我们使用一个简单的程序将这两个参数的具体内容显示出来:
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n = 0;
printf("argc = %d\r\n", argc); //打印命令个数
/*------------------显示所有命令-------------------*/
for(n = 0; n < argc; n ++)
{
puts(argv[n]);
}
/*-------------------------------------------------*/
system("pause"); //暂停程序,避免单独运行程序直接闪退,看不到运行结果
return 0;
}

2、不做其他处理,直接运行程序,可以看到argc = 1,这就是说程序一旦运行系统就会自动传入一个命令,通过打印发现没有任何信息,当通过
printf("argv[%d] = %s\tstrlen(argv[%d]) = %d\r\n", n, argv[n],n, strlen(argv[n]));
可以看到命令长度不为0,这个命令是由系统使用的,程序中一般不对该命令进行操作。


3、接下来让我们使用dev-cpp给程序运行传入一个字符串“test1”,具体操作是:点击菜单栏的“Run”->“Parameters...”,在弹出的“Parameters”对话框的“Parameters to pass to your program:”文本框输入“test1”。


4、在运行程序,可以看到argc = 2,同事显示出刚刚传入的参数:test1.

5、试试给程序传入两个参数,使用空格隔开:
-test1 -test2
运行之后可以看到argc = 3,同事显示了-test1和-test2.


6、使用过dos或者linux系统的朋友应该对命令行不陌生,我们找到程序的可执行文件的目录,打开控制台,将目录切换至可执行文件的目录。


7、本次编译的可执行文件名为“main测试.exe”,这里使用:
main测试 测试命令1 测试命令2
对程序进行测试,运行结果显示argc = 3,同时显示出“测试命令1”、“测试命令2”,和编译器的运行结果一致。

8、不同命令之间使用空行隔开,不能使用逗号、分号隔开。
