头文件
#include <string.h>
作用
strtok函数的作用是把字符串以规定的字符分割开:
p = strtok(buf, "$");
p为指针,buf也是指针,这句代码的意思就是把buf中的字符串以"$"为分隔符分割开来,分割出来的字符串保存到指针p中。
再次调用strtok函数时,把buf换成NULL,不需要再写buf。即:
p = strtok(NULL, "$");
需要注意的是,strtok函数会把分割前的字符串破坏掉,即每次分割后,原来的字符串就会少掉一部分,完整性会被破坏
扩展
strtok函数的分隔字符还可以是多个,不一定只为一个
p = strtok(buf, "$,");
这句代码的意思是以" " 和 " , " 为 分 隔 符 分 割 b u f 中 的 字 符 串 。 每 当 遇 到 这 两 个 字 符 其 中 一 个 都 会 分 割 , 不 是 遇 到 " "和","为分隔符分割buf中的字符串。每当遇到这两个字符其中一个都会分割,不是遇到" "和","为分隔符分割buf中的字符串。每当遇到这两个字符其中一个都会分割,不是遇到","两个字符连在一起才分割,记住只需要遇到其中一个字符就可以了,这样对于函数的使用人性化很多。
举例
char* pool_osd[LENGTH_T] = {NULL};
pool_osd[pool_osd_count] = strtok(osd_str,",");
while(pool_osd[pool_osd_count]){
++pool_osd_count;
pool_osd[pool_osd_count] = strtok(NULL,",");
}