C++:Command Line Arguments

文章介绍了C++中main函数的两种常见形式,一种是没有参数的,通常返回0。另一种接受两个参数,argc表示参数个数,argv是一个字符串数组,包含每个命令行参数。通过argv[0]可以获取程序名字,其余元素对应输入的参数。示例代码展示了如何遍历并打印这些参数。

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

我们平常使用的main函数返回大多数是0,而且没有参数,类似下面的例子:

int main(){
    ...
    return 0;
}

我们可以通过Command Line Arguments来给主函数设置参数。通常main函数有两个参数,第一个是用来表示参数的个数,第二个来存储每个参数。例如:

int main(int argc, char *argv[]) { /* ... */ }
// 或者
int main(int argc, char **argv) { /* ... */ }

注意argv[0] 表示程序的名字的。

Example:

  1. Code:

    #include <iostream>
    using namespace std;
    
    int main(int argc, char** argv)
    {
        cout << "There are " << argc << " arguments:"
             << endl;
     
        for (int i = 0; i < argc; i++)
            cout <<"argv["<<i<<"]: "<< argv[i] << endl;
     
        return 0;
    }
    

    Terminal Input:

    g++ argument.cpp -o arguments
    ./arguments hello Mr Hao
    

    Output:

    There are entered 4 arguments:
    argv[0]: ./arguments
    argv[1]: hello
    argv[2]: Mr
    argv[3]: Hao
    
### QCoreApplication::arguments 的使用方法 `QCoreApplication::arguments` 是一个静态成员函数,用于获取传递给应用程序的命令行参数列表。该函数返回一个 `QStringList` 类型的对象,其中第一个元素通常是程序本身的路径名(即 argv[0]),后续元素则是用户输入的各个命令行参数[^1]。 以下是关于如何使用 `QCoreApplication::arguments` 的详细介绍: #### 返回值说明 调用此函数会返回一个字符串列表,表示当前运行的应用程序所接收到的所有命令行参数。例如,在 Linux 或 macOS 下执行如下命令: ```bash ./myapp --help -v input.txt ``` 则 `QCoreApplication::arguments()` 将返回类似于以下的内容: ```cpp ["/path/to/myapp", "--help", "-v", "input.txt"] ``` #### 示例代码 下面是一个简单的 C++ 示例,展示如何解析并打印这些参数: ```cpp #include <QCoreApplication> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QStringList args = QCoreApplication::arguments(); // 获取所有命令行参数 qDebug() << "Command line arguments:"; foreach (const QString &arg, args) { // 遍历并打印每个参数 qDebug() << arg; } return app.exec(); } ``` 当编译并运行上述代码时,如果传入了额外的命令行选项,则它们会被逐一显示出来。 #### 处理逻辑扩展 除了简单地读取外,还可以进一步分析这些参数以实现更复杂的功能。比如判断是否存在某些标志位或者指定文件作为输入源等操作都可以基于这个基础构建起来[^2]。 另外需要注意的是,在多线程环境中调用此类全局状态访问器可能引发竞态条件;因此建议仅限于主线程初始化阶段完成相关设置工作后再启动其他子线程活动[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值