strtok函数的输入参数和返回值 输入参数: char* str:指向待分割的字符串。首次调用时传入字符串,后续调用时传入NULL。 const char* delim:指向包含分隔符的字符串。 返回值: 返回指向分割出的标记的指针。 如果没有更多的标记,则返回NULL。 strtok函数的具体实现步骤 检查输入参数:如果str为NULL且next_start也为...
char *strtok(char * s1,char *s2){ static char *cs=NULL;char *rt=NULL;int i,j;if (cs==NULL) cs=s1;for (i = 0; cs[i] ; i++) { for (j=0; s2[j]; j++)if (cs[i]==s2[j]) break;if (s2[j]) { rt=cs;cs[i]='\0';cs+=i+1;break;} } return rt...
pSentence = strtok(NULL, ";"); } return 0; } 编译结果如下,我们看到后面的“;”没有了。 踩坑指南3-连续的分隔符被当做一个分隔符处理 我们看源码line42,当找到一个分隔符就返回,下次进入该函数会跳过前导分隔符。 也就是说如果两个分隔符连续出现,那么在分隔的时候,你是希望分隔出一个空字符串,还...
要想深究其特性,必须看源码,下面的代码取自glibc-2.20的strtok.c文件。 1#include<string.h>2 3static char *olds; 4 5#undef strtok 6 7#ifndef STRTOK 8# define STRTOK strtok 9#endif1011/* Parse S into tokens separated by characters in DELIM.12 If S is NULL, the last string strtok() was...