strxspn.h

来自「ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机」· C头文件 代码 · 共 25 行

H
25
字号
/* $Id: strxspn.h 26099 2007-03-14 20:30:32Z ion $
 */

#include <limits.h>
#include <string.h>

size_t _strxspn(const char *s1, const char *s2)
{
 unsigned char char_map[1 << CHAR_BIT * sizeof(char)];
 const unsigned char * us2 = (const unsigned char *)s2;
 const unsigned char * str = (const unsigned char *)s1;

 memset(char_map, 0, sizeof(char_map));

 for(; *us2; ++ us2)
  char_map[*us2 / CHAR_BIT] |= (1 << (*us2 % CHAR_BIT));

 for(; *str; ++ str)
  if(_x(char_map[*str / CHAR_BIT] & (1 << (*str % CHAR_BIT)))) break;

 return (size_t)str - (size_t)s1;
}

/* EOF */

⌨️ 快捷键说明

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