C++中main()函数和命令行参数介绍

C++中main()函数和命令行参数介绍

在C++中,main()函数是程序的入口点,它是一个特殊的函数,在程序开始执行时被首先调用,也是程序结束时的最后一个被执行的函数。main() 函数的类型始终为 int,根据C++标准,main() 函数必须返回一个整数作为程序的退出码。这个退出码可以用来表示程序的执行状态,通常为0表示程序正常结束,非零值表示程序发生了错误或异常情况。

在C++中,main()函数函数声明可以变为以下形式之一:

int main()

{

    // 代码块

    return 0; // 或者其他整数值

}

int main()和int main(void)是等价的,它们都表示main函数没有接受任何参数。这两种形式都是合法的,并且在主流的C++编译器中被广泛接受。

int main(int argc, char *argv[])

{

    // 代码块

    return 0; // 或者其他整数值

}

后面这种形式可以让我们从命令行传递参数给程序。其中:

argc 是命令行参数的数量即个数

argv 是一个指向字符串数组的指针,每个字符串表示一个命令行参数,argv表示命令行参数的具体内容,其类型为字符指针数组。这些参数可以在程序运行时通过命令行提供。argv是一个指向字符串数组的指针,每个字符串都存储一个命令行参数。第一个参数argv[0]通常是程序的名称。

以下是一个示例,展示了如何在C++中使用命令行参数:

#include <iostream>
using namespace std; 

int main(int argc, char* argv[]) {
    // 打印程序名称
    cout << "程序名称: " << argv[0] << endl;

    // 打印命令行参数
    for (int i = 1; i < argc; ++i) {
        cout << "参数 " << i << ": " << argv[i] << endl;
    }

    return 0;
}

如果将程序保存为myProgram.cpp并编译运行,我这里将编译文件myProgram.exe放在D:\cppDemo中,

可以通过在命令行cmd中输入以下内容来传递参数:

myProgram aa bb

输出是:

程序名称: myProgram

参数 1: aa

参数 2: bb

参见下图:

这样,我们可以在程序中通过 argc 和 argv 来访问和处理这些命令行参数。

myProgram aa bb

这将导致 argc 的值为 3(包括程序名 ./myProgram 在内),而 argv 会被填充为以下内容:

char *argv[3] = {

    "./myProgram",

    "aa",

    "bb"

};

这样,我们可以在程序中通过 argc 和 argv 来访问和处理这些命令行参数。

小结一下:

main()函数的原型可以有两种形式:

int main()

int main(int argc, char* argv[])

第一种形式最常见,表示main()函数没有接受任何参数,不需要处理命令行参数。

第二种形式,表示main()函数接受命令行参数。其中,argc表示命令行参数的数量,argv是一个指向字符串数组的指针,每个字符串都存储一个命令行参数。第一个参数argv[0]通常是程序的名称。

猜你喜欢

转载自blog.csdn.net/cnds123/article/details/131724062