# Include "stdio. H "</P> <p> char * strtok (char * s, char * delim) <br/>{< br/> static char * Last = s; // Save the remaining string <br/> char * Start = NULL; // The start address of the string returned each time <br/> char * STR = NULL; </P> <p> If (last = NULL) <br/>{< br/> return NULL; <br/>}</P> <p> If (S = NULL) <br/> Start = last; <br/> else <br/> Start = s; // when the string is not empty </P> <p> STR = start; <br/> char * CP; <br/> while (* Str) <br/>{< br/> CP = delim; <br/> while (* CP) <br/>{< br/> If (* STR = * CP) <br/>{< br/> * STR = '/0'; <br/> last = STR + 1; <br/> return start; <br/>}< br/> CP ++; <br/>}< br/> STR ++; <br/>}< br/> If (* STR = '/0') <br/>{< br/> last = NULL; <br/> return start; <br/>}< br/> return NULL; </P> <p >}< br/> void main () <br/>{</P> <p> char STR [] = {"test: Is: A, string: toking "}; </P> <p> char * str1 = strtok (STR, ":,"); <br/> int x = 1; </P> <p> printf ("% d: % s/n", X, str1); </P> <p> while (1) <br/>{< br/> str1 = strtok (null, ":,"); <br/> If (str1 = NULL) <br/>{< br/> printf ("Finished/N"); <br/> break; <br/>}< br/> X ++; <br/> printf ("% d: % s/n", X, str1); </P> <p >}< br/>}