I am trying to create a command line app, where the user can type in commands and data, but I don't really get how istream_iterator is working, how can I get a whole input (until enter) into a vector? Right now it creates a new while loop on every word, that is not what is want.
int main(int argc, char* argv[])
{
    string buffer;      
    //vector<string> vbuff;
    CliHandler clihandler(argc, argv);
    int state = clihandler.State();
    while (state != CliHandler::STATE_EXIT) {
        cout << ">>";
            //Beolvasás
            cin >> buffer;
            stringstream sstream(buffer);
            istream_iterator<string> begin(sstream);
            istream_iterator<string> end;
            vector<string> vbuff(begin,end);
            copy(vbuff.begin(), vbuff.end(), std::ostream_iterator<string>(std::cout, "\n"));//test
            //vbuff = vector<string>((istream_iterator<string>(cin)), istream_iterator<string>());
            //copy(vbuff.begin(), vbuff.end(), std::ostream_iterator<string>(std::cout, "\n"));
            switch(clihandler.State(vbuff[0])) {
                          // [command] [data1] [data2] ...
            }
    }
    return 0;
}
 
     
     
    