头文件: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)?"合法":"不合法");

}

 

 

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。