strtok of single character
c
Solution
If you only want the c in the :c: part, and you know that things will have this format, you don't have to go as far as tokenizing. You can simply do
char c = strchr(str, ':')[1];
This locates the first :, and gets the character following it. Of course, strtok would also work:
strtok(str, ":");
char c = strtok(NULL, ":")[0];
This fetches the second tokenized word, and get the first character of that word. In general, if you wanted things further in, you would probably want to use a loop instead. Not that the str buffer must be writeable in this case, unlike the others.
Finally, if the `pippo` part always has the same length, you can get away with simply
char c = str[6];
In all cases, `str = "pippo:c:C2,C3,C4:pippo"`.
Problem
I must tokenize a string with this format: ``` pippo:c:C2,C3,C4:pippo ``` how do I tokenize this string using strtok (i don't need the string once i've done the tokening anymore). I want the lone character to be stored into a char variable and not in a char* variable.