我正在一个需要密码身份验证的实验室工作,既可以使用较旧的c-string,也可以使用字符串类。我有字符串类版本工作。我使用cin.getline(password, 20)
strlen(password)
也可以正常使用。
我一直在寻找如何判断旧的c-string版本是否包含任何值的大写字母。一切都在说使用isupper
,它来自较新的字符串类(据我所知)。
有办法做到这一点吗?我考虑只使用字符串类版本进行验证,然后将其输入到char数组中。
答案 0 :(得分:4)
C标准库中有一个名为isupper
的函数,它将一个字符作为参数。 (角色来自哪里,C字符串或其他地方并不重要。)这可能就是您要使用的内容。
答案 1 :(得分:3)
答案 2 :(得分:1)
由于您知道C
使用ASCII,因此您可以创建自己的函数:
bool upper(char chr)
{
return chr >= 'A' && chr <= 'Z'; // same as return chr >= 65 && chr <= 90
}