05. maj 2008 - 09:01Der er
6 kommentarer og 1 løsning
String building
jeg sidder med et lille problem med formatering af min string jeg kan ikke få den til at separer rigtig den hopper ud efter en enkel gemmenkørelse og kan ikke lige gemmenskue hvad problemet er
char InputBuffer[] = FirstName=testv1&LastName=testv2&submit=Submit; char * pToken; // pointer to token separator char * pVariable; // pointer to Variable separator i=0; bool next = false;
pToken = strtok(InputBuffer,"&");
while (pToken != NULL) { // While any tokens left in string cout << pToken << endl; cout << i << endl;
pVariable = strtok(pToken,"=");
while (pVariable != NULL){
cout << pVariable << endl;
pVariable=strtok(NULL,"="); }
i++; pToken=strtok(NULL,"&"); // Find the next token }
Jeg vil tro at dit problem er at den nederste strtok kører på din pToken, og ikke din InputBuffer (fordi du sidst har kaldt strtok med pToken, og det derfor er denne den checker når du sender NULL som parameter).
Du bliver nødt til at holde styr på hvor langt du er i InputBuffer, og så offsette pointeren tilsvarende når du forsøger at få fat på næste token - eller også skal du gribe det anderledes an, så du først får alle tokens fra InputBuffer ud i et array/collection/whatever, og så kører strtok igen på hver af dem.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.