Strtok() function in C
×


Strtok() function in C

41

 The strtok function in C is used for tokenizing (splitting) strings into smaller parts, known as tokens, based on a specified delimiter.

 It's a part of the C standard library  <string.h>.

 Using strtok effectively streamlines tasks involving string manipulation and parsing in C programs, improving efficiency and readability.

 However, care should be taken in multithreaded environments or when working with dynamically allocated strings to avoid unintended side effects.

Syntax strtok function in C:

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

str:

 The string to be tokenized.

 The first call to strtok should pass the string to tokenize.

 Subsequent calls should pass NULL.

delimiters:

 A string containing delimiter characters.

 These characters are used to determine where to split the string into tokens.


Example:

\\Program for strtok function in C
#include<stdio.h> 
#include<string.h> 

int main() {
    char str[] = "Hello, world! Welcome, to strtok function.";
    char delimiters[] = " ,!."; // Delimiters are space, comma, exclamation mark, and period
    char *token;

    // Get the first token
    token = strtok(str, delimiters);

    // Walk through other tokens
    while (token != NULL) {
        printf("%s\n", token);
        token = strtok(NULL, delimiters);
    }

    return 0;
}

Output:

Hello
world
Welcome
to
strtok
function

Advantages and Key Points

Efficient String Parsing: strtok simplifies the process of splitting strings into smaller parts based on specified delimiters.

Modifies the Input String: strtok modifies the original string during tokenization. It replaces delimiter characters with null terminators, so the original string is altered.

Token Retrieval: After the first call, subsequent calls to strtok with NULL as the first argument continue parsing the same string from where it left off.

Not Thread-Safe: strtok is not thread-safe because it relies on static variables to keep track of the string being parsed and the current parsing position.

Use of strtok_r for Thread Safety: To ensure thread safety in multithreaded programs, strtok_r function should be used.

It's a reentrant version of strtok that uses additional arguments to maintain parsing state.

Returns NULL When No More Tokens: After all tokens have been extracted from the string, subsequent calls to strtok return NULL.

Tokenized Strings Can Be Processed: Once tokenized, individual tokens can be processed independently, allowing for various string manipulation tasks.



Best WordPress Hosting


Share:


Discount Coupons

Get a .COM for just $6.98

Secure Domain for a Mini Price



Leave a Reply


Comments
    Waiting for your comments