strcspn
strcspn
在头文件 | | |
---|---|---|
size_t strcspn(const char * dest,const char * src); | | |
返回由dest指向的以null结尾的字节串的最大初始段的长度,该长度仅包含由src指向的以null结尾的字节串中未找到的字符。
如果dest或src不是指向以空字符结尾的字节字符串的指针,则行为未定义。
参数
dest | - | 指向要分析的空字符串字符串的指针 |
---|---|---|
src | - | 指向包含要搜索的字符的以空字符结尾的字节字符串 |
返回值
最大初始段的长度,其中只包含由src指向的空终止字节字符串中找不到的字符。
注意
函数名称代表“互补跨度”,因为该函数搜索src中未找到的字符,即src的补码。
例
#include <string.h>
#include <stdio.h>
int main(void)
{
const char *string = "abcde312$#@";
const char *invalid = "*$#";
size_t valid_len = strcspn(string, invalid
if(valid_len != strlen(string))
printf("'%s' contains invalid chars starting at position %zu\n",
string, valid_len
}
输出:
'abcde312$#@' contains invalid chars starting at position 8
参考
- C11标准(ISO / IEC 9899:2011):
扩展内容
strspn | 返回仅由另一个字节字符串(函数)中的字符组成的最大初始段的长度 |
---|---|
wcscspn(C95) | 返回仅由在另一个宽字符串(函数)中未找到的宽字符组成的最大初始段的长度 |
strpbrk | 找到一个字符串中任何字符的第一个位置,另一个字符串(函数) |
| strcspn 的C ++文档|