头文件:string.h
函数原型:int strcspn(char* str,char* chartset)
功能:返回str中第一个和charset字符集中元素匹配的元素的位置。如果没有匹配到,就会返回str字符串的长度。
例子
#include
#include
int main(){
char *str1="1234567890";
char *charset="DC78";
int pos;
pos=strcspn(str1,charset);
printf("%d",pos);
}
因为在str中第一个与charset字符集中元素匹配的元素是“7”,所以返回6
可是这个函数有什么用呢?
假如我规定密码必须包含大写字母、小写字母和特殊字符,
那么我可以用这个函数来检测密码是否包含这些
#include
#include
int IsCodeLegal(char* code){
char* rule1="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char* rule2="abcdefghijklmnopqrstuvwxyz";
char* rule3="~!@#$%^&*";
int result_rule1=0,result_rule2=0,result_rule3=0;
result_rule1=strcspn(rule1,code);
result_rule2=strcspn(rule2,code);
result_rule3=strcspn(rule3,code);
if(result_rule1==26||result_rule2==26||result_rule3==9)
return 0;
else
return 1;
}
int main(){
char* code1="1234567890";
char* code2="123@Ab27418";
printf("%s,%s\n",code1,IsCodeLegal(code1)?"合法":"不合法");
printf("%s,%s\n",code2,IsCodeLegal(code2)?"合法":"不合法");
}
相关阅读
发表评论