- C标准库
- C库 - 首页
- C库 - <assert.h>
- C库 - <complex.h>
- C库 - <ctype.h>
- C库 - <errno.h>
- C库 - <fenv.h>
- C库 - <float.h>
- C库 - <inttypes.h>
- C库 - <iso646.h>
- C库 - <limits.h>
- C库 - <locale.h>
- C库 - <math.h>
- C库 - <setjmp.h>
- C库 - <signal.h>
- C库 - <stdalign.h>
- C库 - <stdarg.h>
- C库 - <stdbool.h>
- C库 - <stddef.h>
- C库 - <stdio.h>
- C库 - <stdlib.h>
- C库 - <string.h>
- C库 - <tgmath.h>
- C库 - <time.h>
- C库 - <wctype.h>
C库 - strspn() 函数
C库函数`strspn()`用于查找仅包含另一个字符串(str2)中存在的字符的前缀(str1)的长度。
它通过接受任意两个字符串作为输入,允许轻松定制。因此,这使得能够比较不同的字符集和字符串。
语法
以下是C库函数`strspn()`的语法:
size_t strspn(const char *str1, const char *str2)
参数
此函数接受以下参数:
str1 − 这是要扫描的主要C字符串。
str2 − 这是包含要在str1中匹配的字符列表的字符串。
返回值
此函数返回str1初始段中仅由str2中的字符组成的字符数。
示例1
我们使用C库函数`strspn()`演示了对给定字符串中两个前缀子串的比较,并找到其长度。
#include <stdio.h> #include <string.h> int main () { int len; const char str1[] = "ABCDEFG019874"; const char str2[] = "ABCD"; len = strspn(str1, str2); printf("Length of initial segment matching %d\n", len ); return(0); }
输出
以上代码产生以下结果:
Length of initial segment matching 4
示例2
下面的C程序使用函数`strspn()`从给定字符串中过滤掉非字母字符。(原文此处似乎有误,应为strspn())
#include <stdio.h> #include <string.h> const char* low_letter = "qwertyuiopasdfghjklzxcvbnm"; int main() { char s[] = "tpsde312!#$"; size_t res = strspn(s, low_letter); printf("After skipping initial lowercase letters from '%s'\nThe remainder becomes '%s'\n", s, s + res); return 0; }
输出
代码执行后,我们得到以下结果:
After skipping initial lowercase letters from 'tpsde312!#$' The remainder becomes '312!#$'
示例3
下面的程序说明了使用`strspn()`查找主字符串中前缀子串的长度。
#include <stdio.h> #include <string.h> int main () { int leng = strspn("We are Vertos", "We"); printf("Length of initial characters matching : %d\n", leng ); return 0; }
输出
执行上述代码后,我们得到以下结果:
Length of initial characters matching : 2
广告