C语言字符串切割是高效的,不过得注意一个问题,strtok在切割的时候不象其他高级语言那样产生自身拷贝,但是会破坏字符串,字符串那部分内存必需是可以写的。
# include <stdio.h>
# include <string.h>
int main(void)
{
char *p;
char str[] = "hello\nworld\n\r\n\n\n!", *s;
for (s = str; p = strtok(s, "\n\n\r"); s = NULL)
{
printf("%s\n", p);
}
return 0;
}