//Stringzerlegung mit strtok / richard@borwinius.de #include <string.h> #include <stdio.h> #include <stdlib.h> //---------------------------------- int Stringzerleger(char* input,char *pat,char *pout) { int i,imax; imax = strlen(input); char *p[imax]; printf("Orginal : %s\nZeichenlaenge: %d\n",input,imax); p[0] = strtok(input, pat); if (p[0]) { printf("Token 0\t : %s\n", p[0]); //pout = p[0]; } else { printf("Fehler"); return (-1); } for (i=1;i<imax;i++) { p[i] = strtok(NULL, pat); if (p[i]) { printf("Tokenrest : %s\n", p[i]); strcpy(pout,p[1]);//Servernamen kopieren } else {return (i);} } return (i); } //---------------------------------- int main(void) { int ret; char *srv; char *pat ="/"; srv = (char*) calloc(64,sizeof(char)); char in[] = "http://servername.de/bla/blo/blu/verzeichnis/subverzeichnis/datei.txt"; ret = Stringzerleger(in,pat,srv); printf("Servername: %s\ntokenzahl: %d\n",srv,ret); return 0; } //----------------------------------