如何在C++程序中添加命令行参数?

dff*_*dff 2 c++ command-line-arguments

我刚刚在课堂上学习命令行参数,但我还没有完全理解它们.我知道它们存储在*argv []中,并由argc计算,但我不明白它们的用途或来自何处.我试图用C++编写一个程序来查找用户输入的命令行参数的总和,并包含下面的代码,但我不知道它是否正确或我是如何测试的.如果有人能给我一个简单的描述它们是什么以及如何访问它们将非常感激.

#include <iostream>
#include <cstdlib>
using namespace std;

int main(int argc, char *argv[])
{
    double sum = 0;
    for(int counter = 0; counter < argc; counter ++)
    {
        sum += atof(argv[counter]); //compact form of :  sum = sum + atof(argv[counter]);
    }
    cout << "Sum = " << sum << endl;
}
Run Code Online (Sandbox Code Playgroud)

For*_*veR 7

它是正确的,但不漂亮,因为第一个参数(argv[0])是应用程序名称,但它不能转换为double,因此将返回0.0,但是从1开始它将更正确.如果你想要求和,你应该使用+=运算符.

for(int counter = 1; counter < argc; counter ++)
{
    sum += atof(argv[counter]);
}
Run Code Online (Sandbox Code Playgroud)