mbspbrk.c

来自「一个类似windows」· C语言 代码 · 共 27 行

C
27
字号
#include <stdlib.h>
#include <mbstring.h>

int isleadbyte(int byte);

/*
 * not correct
 *
 * @implemented
 */
unsigned char * _mbspbrk(const unsigned char *s1, const unsigned char *s2)
{
  const unsigned char* p;

  while (*s1)
  {
    for (p = s2; *p; p += (isleadbyte(*p) ? 2 : 1))
    {
      if (*p == *s1)
        if (!isleadbyte(*p) || (*(p+1) == *(s1 + 1)))
          return (unsigned char*)s1;
    }
    s1 += (isleadbyte(*s1) ? 2 : 1);
  }
  return NULL;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?