strtok的单一字符

Jan*_*o67 3 c

我必须用这种格式标记一个字符串:

 pippo:c:C2,C3,C4:pippo
Run Code Online (Sandbox Code Playgroud)

如何使用strtok对此字符串进行标记(一旦我完成标记,我就不需要字符串).我希望将单个字符存储到char变量中而不是char*变量中.

ama*_*rea 7

如果你只想要c:part中的c,并且你知道事情将具有这种格式,那么你就不必像标记化一样.你可以干脆做

char c = strchr(str, ':')[1];
Run Code Online (Sandbox Code Playgroud)

这将找到第一个:,并获取其后的字符.当然,strtok也可以:

strtok(str, ":");
char c = strtok(NULL, ":")[0];
Run Code Online (Sandbox Code Playgroud)

这将获取第二个标记化单词,并获取该单词的第一个字符.一般来说,如果你想要进一步的东西,你可能想要使用循环.在这种情况下,str缓冲区必须是可写的,与其他缓冲区不同.

最后,如果pippo零件总是具有相同的长度,您可以简单地逃脱

char c = str[6];
Run Code Online (Sandbox Code Playgroud)

在所有情况下,str = "pippo:c:C2,C3,C4:pippo".