Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C string strtok() function

❮ string Functions


Example

Separate the words in a sentence by using spaces as a delimiter:

char myStr[] = "Learn C++ at W3schools";
char * myPtr = strtok(myStr, " ");
while(myPtr != NULL) {
  cout << myPtr << "\n";
  myPtr = strtok(NULL, " ");
}
Try it Yourself »

Definition and Usage

The strtok() function splits a string into multiple pieces (referred to as "tokens") using delimiters.

The first call to strtok() should have a pointer to the string which should be split, while any following calls should use NULL as an argument. Each time the function is called a pointer to a different token is returned until there are no more tokens. At that point each function call returns NULL.

Be aware that this function modifies the original string, replacing delimiters with null terminating characters so that each token can have its own null terminating character.

The strtok() function is defined in the <string.h> header file.


Syntax

strtok(char * str, const char * delimiters);

Parameter Values

Parameter Description
str Required. A pointer to the string to begin splitting. After the first call, pass NULL to this parameter to get more pieces from the same string.
delimiters Required. A set of delimiters to search for. A token ends when any one of these characters is found.

Technical Details

Returns: A char type pointer to the position of one of the tokens in the original string, or NULL if there are no more tokens.

❮ string Functions


Related Pages

C Strings Tutorial

C String Functions Tutorial


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.