[笔记] 命令行参数 int main(int argc,char *argv[])

北城余情 提交于 2019-11-30 23:11:57
1 int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值

C程序的main函数有两个形参*

argc:整数,用来统计运行程序时传给main函数的命令行参数的个数. 程序名本身也是一个参数,所有argc不会小于1.  

argv: 命令行参数字符型指针数组的首地址

  argv 形参是一个指针数组,这些指针指向表示程序实参的以 null 结尾的字符串。

     该数组的每个元素指向传递给 main的参数的字符串表示形式

  argv 参数可以声明为指向类型 char (char *argv[]) 的指针数组,或者声明为一个指针(指向指向类型 char (char **argv) 的多个指针)。

  * argv:字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数 

    argv[0] 指向程序运行的全路径名   

    argv[1] 指向在DOS命令行中执行程序名后的第一个字符串   

    argv[2] 指向执行程序名后的第二个字符串   ... 

    argv[argc]为NULL。  //内存分配中最后一NULL结尾

  argc是系统管理的,就是说main并不是真正的程序入口,还有一个函数条用它,根据你输入的参数数量设置这个变量.
  当然变量名可以随意的取,但类型必须匹配(int char**)

 *.  char *envp[]  指向环境变量列表以及它们值的指针。 NULL结尾。  //environment

遍历argv[]

 

// command line parameter.cpp 
#include <stdio.h>

int main(int argc, char *argv[])
{
    int i;
    printf("argc=%d\n", argc);
    for (i = 1; i < argc; i++)
    {
        printf("argv[%d]: %s\r\n", i,argv[i]);
    } 
    getchar();
    return 0;
}

 

1.调试信息中附加参数 传给main函数

 

 

 

 //参考来源:

  https://docs.microsoft.com/zh-cn/cpp/c-language/argument-description?view=vs-2019

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!