实现isalpha(const char * s) – 如何改进这个功能?
发布时间:2020-12-16 10:54:37 所属栏目:百科 来源:网络整理
导读:我需要一种方法来检查字符串是否只包含字母字符.由于我在程序中需要多次使用该功能,因此我认为将它放入函数是个好主意. 这是我的实现: int sisalpha(const char *s) { int result = 1; while (s++ != ' ') { result = isalpha(*s); // uses isalpha of cty
我需要一种方法来检查字符串是否只包含字母字符.由于我在程序中需要多次使用该功能,因此我认为将它放入函数是个好主意.
这是我的实现: int sisalpha(const char *s) { int result = 1; while (s++ != ' ') { result = isalpha(*s); // uses isalpha of <ctype.h> if (result == 0) { return result; } } return result; } 我能在这里改进什么?传递某种大小以避免缓冲区溢出并允许检查“子串”是否有益? 解决方法
使用
strspn.
设置要检查的字符集,大写和小写字母.如果strspn返回的值与strlen相同,则它全部为字母. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |