【FROM MSDN && 百科】
原型: size_t strcspn(const char *str ,const char *strCharSet);
#include<string.h>
顺序在字符串s1中搜寻与s2中字符的第一个相同字符,返回这个字符在S1中第一次出现的位置。
These functions return the index of the first character in str that is in strCharSet. If none of the characters in str is in strCharSet, then the return value is the length of str. No return value is reserved to indicate an error.
DEMO:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void test(const char *str,const char *strCharSet)
{
int pos=strcspn(str,strCharSet);
printf("strcspn(\"%s\",\"%s\") = %d\n",str,strCharSet,pos);
}
int main(void)
{
test("xyzbxz","abc");
test("xyzbxz","xyz");
test("xyzbxz","no match");
test("xyzbxz","");
test("","abc");
test("","");
getch();
return 0;
}
/*
output:
strcspn("xyzbxz","abc") = 3
strcspn("xyzbxz","xyz") = 0
strcspn("xyzbxz","no match") = 6
strcspn("xyzbxz","") = 6
strcspn("","abc") = 0
strcspn("","") = 0
*/
DEMO:
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(void)
{
char *s="Golden Global View";
char *r="newo";
int n;
n=strcspn(s,r);
printf("%d\n",n);
printf("The first char both in s1 and s2 is :%c\n",s[n]);
getch();
return 0;
}
/*
output:
1
The first char both in s1 and s2 is :o
*/