char *token, *tokens[LEN];
token = strtok("str", "delim");
tokens[0] = token;
int i = 0;
while (token = strtok(NULL, "delim")) {
tokens[++i] = token;
}
常用切割套路↑
注意
1.将str中的“delim”替换为“/0”,然后切割提取,所以会破坏str,所以str不能是一个常量,例如字面值都是.rodata区的,只能读取不能修改
2.注意返回值类型是字符指针
3.停止切割后,剩余delim不会替换,是查找到delim时替换并返回上一段内容的指针
4.查找到最后一段内容时,此时已经没有delim,所以会返回最后一段的地址,下一次查找时才会返回空,此处帮助理解如何在循环中使用
5.delim是一个替换集合,它会将delim中有的所有单个字符替换为‘/0’