将argv保存到矢量或字符串

use*_*035 7 c++ argv

我需要将所有参数保存到向量或类似的东西.我不是程序员,所以我不知道怎么做,但这是我到目前为止所做的.我只想调用一个函数系统来传递所有参数.

#include "stdafx.h"
#include "iostream"
#include "vector"
#include <string>
using namespace std;

int main ( int argc, char *argv[] )
{
       for (int i=1; i<argc; i++)
       {
           if(strcmp(argv[i], "/all /renew") == 0)
           {
                 system("\"\"c:\\program files\\internet explorer\\iexplore.exe\" \"www.stackoverflow.com\"\"");
           }
           else
              system("c:\\windows\\system32\\ipconfig.exe"+**All Argv**);
       }

       return 0;
}
Run Code Online (Sandbox Code Playgroud)

fre*_*low 51

我需要将所有参数保存到矢量或其他东西

您可以使用向量的范围构造函数并传递适当的迭代器:

std::vector<std::string> arguments(argv + 1, argv + argc);
Run Code Online (Sandbox Code Playgroud)

不是100%确定这是你问的问题.如果没有,请澄清.

  • @rubenvb:为什么盲目地遵循一个原则,要求你写出更多的代码,没有明显的理由? (7认同)
  • @rebenvb:从构造函数中抛出的异常是一个功能!为什么你想要一个部分构造的对象? (2认同)
  • @DBJDBJ `argv[0]` 通常是可执行文件的名称和路径,在大多数情况下您不关心。 (2认同)