Kan geen string tokenize en doorgeven aan een vector <string>

I am experimenting with CGI in C++. I know that there are libraries which handle basic stuff, but in order to know whats going on under the hood i have been trying to parse the stdin using string datatype ---> tokenize using '= and &' then push_back into a vector. at the latter step, i am receiving segmentation fault. given below is the program where i am using cin>> to obtain user input and so on ..

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int main()
{

    vector  stuff(0);
    vector::iterator it;
    char* bufferchar;
    string buffer;


    char str[size];
    cout<<"Content-type: text/html\n\n"
      <<"<html>"
      <<"<head>"
      <<"<title>CGI SCRIPT</title>"
      <<"</head>"
      <<"<body>"
    fgets(str,20,stdin);      //20 is expect size of content from html form
    puts(str);

    cout<<"

Now to break this guy apart"; int x=0; bufferchar = strtok(str,"&="); buffer+=bufferchar; stuff.push_back(buffer); while(bufferchar!=NULL){ cout<ok does the vector iterate ?"; for (it=stuff.begin();it!=stuff.end();++it){ cout<<*it; cout<<"
ok man, next

"; } cout<<"</body>"; cout<<"</html>"; }

0
toegevoegd de auteur Bo Persson, de bron
Gebruik een string in plaats van een char *, char arrays en strtok. De stringbibliotheek heeft algoritmen die uw leven een stuk eenvoudiger zouden maken. U gebruikt een reeks voor vectoren, ook voor de char-onderdelen.
toegevoegd de auteur DumbCoder, de bron

Geen antwoorden

0