Strtok function

in the strtok() why null is written instead of string inside the while loop

@sushantshukla92

the strtok runtime function works like this

the first time you call strtok you provide a string that you want to tokenize

char s[] = “this is a string”;
in the above string space seems to be a good delimiter between words so lets use that:

char* p = strtok(s, " ");
what happens now is that ‘s’ is searched until the space character is found, the first token is returned (‘this’) and p points to that token (string)

in order to get next token and to continue with the same string NULL is passed as first argument since strtok maintains a static pointer to your previous passed string:

p = strtok(NULL," ");
p now points to ‘is’

and so on until no more spaces can be found