C/C++语言中main函数中的参数argc,argv解释

本文详细解析了C/C++语言中main函数的参数argc和argv,阐述了它们在命令行输入参数中的作用,通过实例说明如何在程序中正确使用这两个参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C/C++语言中main函数的参数如下所示:

        (1)返回类型 main(int argc,char* argv[])    eg:  int main(int argc,char* argv[])

        (2)返回类型 main(int argc,char** argv)     eg:  int main(int argc,char** argv)

参数解释:

        对于以上的(1)、(2)来说,argc表示的是命令行输入参数的个数;argv表示的是命令行输入的参数

举例说明:

        在Linux系统上,假如你写的程序是stat.c(此程序是为了获取到一个文件的大小),其中程序中使用的main函数如上面(1)所示,即就是下列程序:

 int main(int argc, char* argv[])
 {
     if(argc<2)
    {
        printf("./a.out filename");
        exit(1);
     }
    struct stat st;
     int ret = lstat(argv[1], &st);
     if(ret == -1)
     {
        perror("stat");
         exit(1);
    }

    //获取文件的大小
    int size =(int) st.st_size;
    printf("file size = %d\n",size);
}

针对以上程序 ,重点关注红色部分(写代码不是重点,重点在于参数的介绍)

参数分析:

        (1).写完代码后,对stat.c这个程序进行编译,使用的命令为: gcc stat.c -o stat

        (2).编译完成之后会生成一个可执行文件stat,接下来执行此文件(首先应该在命令行下用 cd 命令进入到 stat 文件所在目录,在此目录下有其前准备的一个文件filename)

        (3).然后使用  ./stat  filename执行文件

        (4).在(3)中,总共有两个参数,因此argc=2,第一个参数是./stat,即就是argv[0]=./stat;第二个参数是filename,即就是argv[1]=filename。如果在(3)中filename后面再多一个参数we,那么argc=3,argv[2]=we,以此类推。

总结:

        简单来讲在main函数中的两个参数,就是在命令行输入的参数,argc表示在命令行输入的参数个数,argv表示在命令行输入的参数内容(中间用空格分开)

注意事项:

        如果使用(返回类型 main(int argc,char* argv[])    eg:  int main(int argc,char* argv[]))这种类型的main函数进行数据传输,在写代码的时候,需要进行参数类的判断。即就是:

 int main(int argc, char* argv[])
 {
     if(argc<2)
    {
        printf("./a.out filename");
        exit(1);
     }

}

如上述代码中的红色部分所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值