#include #include #include #include const char string[] = "words separated by spaces -- and, punctuation!"; const char delimiters[] = " .,;:!-"; char *token, *cp; main() { char *ptr; cp = strdupa (string); /* Make writable copy. */ token = strtok_r (cp, delimiters,&ptr); /* token => "words" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => "separated" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => "by" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => "spaces" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => "and" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => "punctuation" */ printf("token = %s\n",token); token = strtok_r (NULL, delimiters,&ptr); /* token => NULL */ printf("token = %s\n",token); }