Published Aug 23, 2022
Contribute to Docs

The strtok() function breaks a string into a series of tokens using a list of delimiters.


char *token = strtok(string, delimiters);

token = strtok(NULL, delimiters);

The strtok() function splits the string parameter into tokens based on one or more delimiters, and returns the pointer to the first token.

Subsequent calls to strtok(), with string set to NULL, return a pointer to the next tokenized string. When there are no tokens left to retrieve, a NULL pointer is returned.


The following example splits up a comma-delimited list and prints out the result:

#include <string.h>
#include <stdio.h>
int main () {
char str[] = "Comma,Delimited,List";
const char s[] = ",";
char *token = strtok(str, s);
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, s);

This results in the following output:


All contributors

Looking to contribute?

Learn C on Codecademy