strtok, extract tokens from strings,从字符串中截取子串
上图中,第一次调用返回的token为HELLO;
第二次返回的是WORLD;
第三次返回的是NULL,表示处理完毕了。
关于strtok的几点说明:
- strtok会修改字符串str中的字符为’\0’,所以str一定不能是字符常量;
- strtok内部维护一个静态变量saveptr,用于索引剩下的字符串;
- 由于1的原因,如果对同一个字符串再次调用strtok处理,需要给str传NULL,
这样strtok会对saveptr处理;如果还传原来的str,结果将返回NULL; - strtok会忽略起始和结束位置和delim一样的字符;
- 由于4的原因,strtok返回的token总是非空串,除非是处理完毕;
- delim在每次调用的时候可以传递不同的字符串;