Save argv to vector or string

user793035 picture user793035 · Jun 15, 2011 · Viewed 17.9k times · Source

I need to save all arguments to a vector or something like this. I'm not a programmer, so I don't know how to do it, but here's what I've got so far. I just want to call a function system to pass all arguments after.

#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;
}

Answer

fredoverflow picture fredoverflow · Jun 15, 2011

i need to save all arguments to a vector or something

You can use the range constructor of the vector and pass appropriate iterators:

std::vector<std::string> arguments(argv + 1, argv + argc);

Not 100% sure if that's what you were asking. If not, clarify.