欢迎来到【合肥桶装水溯源码厂家】【html 答题 源码】【西游游戏源码】strpbrk 源码-皮皮网网站!!!

皮皮网

【合肥桶装水溯源码厂家】【html 答题 源码】【西游游戏源码】strpbrk 源码-皮皮网 扫描左侧二维码访问本站手机端

【合肥桶装水溯源码厂家】【html 答题 源码】【西游游戏源码】strpbrk 源码

2024-12-27 02:29:17 来源:{typename type="name"/} 分类:{typename type="name"/}

1.C语言strtok函数分割含有空值的合肥桶装水溯源码厂家字符串

strpbrk 源码

C语言strtok函数分割含有空值的字符串

       如果你使用 strtok 函数, 那就没办法了.

       因为strtok函数里面采用了  strspn()这个函数.

       而 strspn 每次都将指针移动到第一个非 "|" 中的字符的位置.

        

       附上源码:

#include <string.h>

       static char *olds;

       #undef strtok

       char * strtok (char *s,const char *delim)

       {

         char *token;

         if (s == NULL)

           s = olds;

         /* Scan leading delimiters. */

         s += strspn (s, delim); //将指针移到第一个非delim中的字符的位置

         if (*s == '\0')

           {

             olds = s;

             return NULL;

           }

         /* Find the end of the token. */

         token = s;

         s = strpbrk (token, delim);// 获取到delimz中字符在字符串s中第一次出现的位置

         if (s == NULL)

           /* This token finishes the string. */

           olds = __rawmemchr (token, '\0');

         else

           {

             /* Terminate the token and make OLDS point past it. */

             *s = '\0';

             olds = s + 1;

           }

         return token;

       }