我有一个字符串:
char *s = "asdf:jhgf";
我需要把它分成两个标记:
token[0] = "asdf";
token[1] = "jhgf";
我在使用 strtok()
时遇到问题。
最佳答案
您可以使用一个简单的sscanf()
:
char token[2][80];
if(sscanf(s, "%[^:]:%s", token[0], token[1]) == 2)
{
printf("token 0='%s'\ntoken 1='%s'\n", token[0], token[1]);
}
请注意,第一次转换是使用 %[^:]
扫描直到(但不包括)冒号。然后我们跳过冒号,扫描一个普通的字符串。
关于c - 未定义大小的字符串在没有 strtok 的情况下拆分为 c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520801/