C ++如何检查cin
输入是A-Z
模式
我如何检查以下内容
cin >> input;
和 input is A-Z
, 表示不是 number , is A
to Z
;
假设input
是一个字符串,您可以检查任何非大写字符,std::find_if
以查找不适合的第一个字符。
#include <iostream>
#include <algorithm>
#include <cctype>
#include <string>
int main() {
std::string input;
std::cin >> input;
std::cout << (std::find_if(input.begin(), input.end(), std::isupper) != input.end()) << "\n";
}
如果您有 C++11,可以稍微进一步简化为:
std::all_of(input.begin(), input.end(), std::isupper)
考虑输入是string
:
bool flag = true;
for(int i = 0; i < input.length(); ++i) {
if (input[i] < 'A' || input[i] > 'Z') {
flag = false;
break;
}
}
然后flag
显示你想要的。如果您使用其他字符表(ASCII、Unicode 除外),则可以使用isalpha
from cctype
。