C语言之strspn函数

     该函数的头文件是,因此在需要使用时需要添加#include

    其函数原型为:size_t strspn(const char *str, const char * accept);

    其函数的作用是:计算字符串 str 中连续有几个字符都属于字符串 accept,其返回值是字符串str开头连续包含字符串accept内的字符数目,即:如果 str 所包含的字符都属于 accept,那么返回 str 的长度;如果 str 的第一个字符不属于 accept,那么返回 0。

    其应用示例如下:

void Test_char(void)
{
    int n = 0,m = 0;
    char str[] = "230th";
    char accept0[] = "1203456789";
    char accept1[] = "520";
    
    n = strspn(str, accept0);
    m = strspn(str, accept1);
    printf("n = %d,m = %d\r\n",n,m);
}

    其结果如下:

    n = 3,m = 1

    该函数的原型为:

size_t strspn(const char *str, const char * accept)
{
  const char *p = NULL;
  const char *a = NULL;
  size_t count = 0;

  for(p = str; *p != '\0'; ++p)
  {
    for (a = accept; *a != '\0'; ++a)
    {
      if (*p == *a)
      {
        ++count;
        break;
      }
    }

    if (*a == '\0')
    {
      return count;
    }
  }
 
  return count;
}


你可能感兴趣的:(技能技巧,c语言,strspn函数)