Jump to content

C++ Programming/Code/Standard C Library/Functions/strtok

From Wikibooks, open books for an open world

strtok

[edit | edit source]
Syntax
#include <cstring>
char *strtok( char *str1, const char *str2 );

The strtok() function returns a pointer to the next "token" in str1, where str2 contains the delimiters that determine the token. strtok() returns NULL if no token is found. In order to convert a string to tokens, the first call to strtok() should have str1 point to the string to be tokenized. All calls after this should have str1 be NULL.

For example:

char str[] = "now # is the time for all # good men to come to the # aid of their country";
char delims[] = "#";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
  printf( "result is \"%s\"\n", result );
  result = strtok( NULL, delims );
}

The above code will display the following output:

 result is "now "
 result is " is the time for all "
 result is " good men to come to the "
 result is " aid of their country" 
Related topics
strchr - strcspn - strpbrk - strrchr - strspn - strstr