strcspn() 函数原型如下:
[C++] 纯文本查看 复制代码 #include <string.h>
size_t strcspn(const char *s, const char *reject);
该函数扫描字符串 s ,如果遇到 s 中也包含有 reject 所指字符串或其中之一字符,那么函数就返回两者共有的那个字符串或字符(最先发现的那个)的前面的字符个数。
测试代码:
[C++] 纯文本查看 复制代码 #include <stdio.h>
#include <string.h>
int main()
{
char *str = "abcd aabb-=ccdd 12345";
printf ("%d\n", strcspn(str, " "));
printf ("%d\n", strcspn(str, "-="));
printf ("%d\n", strcspn(str, "123"));
printf ("%d\n", strcspn(str, "kkkkkkkd"));
return 0;
}
运行输出:注意最后一条的输出,在 str 里面并不包含 "kkkkkkkd" 这样的字串,但是它们共同都含有字符 'd' ,而在 str 中 d 最早出现的位置在第 4 个字符处,所以输出结果为 3 。 |