多语言展示
当前在线:1481今日阅读:27今日分享:41

argc和argv怎么使用

argc和argv是C语言main函数的两个参数,是由操作系统运行程序时传入的,完整的main函数格式为:                          int main(int argc, char * argv[]);其中第一个参数是命令传入的个数,第二个参数是命令的具体形式。在很多场合,由于用不处理这两个参数,一般函数会被声明为:                         int main(void);下面以dev-cpp为例,说明argc和argv的参数的基本使用方法,希望对需要的朋友有帮助。
工具/原料

dev-cpp

方法/步骤
1

首先我们使用一个简单的程序将这两个参数的具体内容显示出来: #include  #include /* 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

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

注意事项

argv第一个参数给系统使用,用户最好不要干预。

推荐信息