1121

6 分钟

#C 语言标准库函数 strspn

/********************************************* * @brief 在字符串中查找仅有部分字符组成的最长前缀长度 * @param str 被检索的字符串 * @param charset 要查找的字符集合 * @return 最长前缀长度 ********************************************/ size_t strspn(const char* str, const char* charset);

说明

获取在字符串 str 开头,仅由字符集合 charset 中的字符组成的最长前缀长度。

参数

  • str - 被检索的字符串
  • charset - 被搜索的字符集合组成的字符串

返回值

  • 最长前缀长度

#示例

#include <stdio.h> #include <string.h> int main(void) { const char* text = "AACBCDDAAZZEE"; const char* charset = "ABC"; size_t len = strspn(text, charset); // 查找仅由 ABC 构成的最长前缀 printf("\"%s\" 中仅由 \"%s\" 构成的最长前缀为 \"%.*s\"\n", text, charset, (int)len, text); return 0; }

说明:

通过 strspn 查找 "AACBCDDAAZZEE" 中仅由 "ABC" 构成的最长前缀长度;并根据该长度打印前缀。

运行结果:

"AACBCDDAAZZEE" 中仅由 "ABC" 构成的最长前缀为 "AACBC"

#推荐阅读

创建于 2025/7/12

更新于 2025/8/1