String splitten, weitergeben, nichts kommt an
-
Hi.
Ich möchte b auf google.de setzen, indem ich a splitte.
Und dann die IP vom Inhalt b s, der google.de sein sollte, abfragenchar *strTokens(char *host, char pattern[], int end) { int a = 0; char b[256]; char *tmpURL = NULL; strcpy(b, host); tmpURL = strtok(b, pattern); while(tmpURL != NULL) { a++; tmpURL = strtok(NULL, pattern); if(a == end) break; } return tmpURL; } int main(int argc, char *argv[]) { char *a = "45#google.de"; char *b = strTokens(a, "#", 1); printf("%s\n",b); startw(); printf("%s",GetIP(b)); getchar(); return 0; }
Output:
http://img96.imageshack.us/my.php?image=16149625hp8.png
-
Du hast zwar keine Frage gestellt, aber ich vermute, du möchtest wissen, warum das nicht das tut, was du willst.
tmpURL verweist auf einen Teil von b, b ist eine lokale Variable in strTokens -> tmpURL verweist nach dem Aufruf auf ungültigen Speicher.
-
Also das mit dem verweisen liegt daran, dass es Zeiger sind?
[ich kenn mich mit Zeigern noch nicht aus]
Sollte ich dann Array-Strings anstatt Zeiger-Strings nehmen?
-
Mach doch aus tmpURL eine eigene Fkt().