回答
考虑输入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),那么您可以使用从cctype
。
不可移植 - 例如,如果您使用的是EBCDIC,则会接受诸如},{和\等字符。它宁愿使用'std :: find_if'。 – Flexo 2012-07-26 06:40:25
如何使用'isupper'? http://www.cplusplus.com/reference/clibrary/cctype/isupper/ – 2012-07-26 06:41:48
@Flexo:可移植性是相对的。你很可能会遇到一个不可能编写C++的系统,而不是使用EBCDIC的系统。 – 2012-07-26 06:42:01
假设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)
- 1. 用cin检查输入“0”(零)
- 2. 如何检查cin的输入是否为双精度?
- 3. 没有在输入CIN C++
- 4. C++用cin输入问题
- 5. 坏输入C vs C++ cin vs scanf
- 6. C - 如何检查输入的数字
- 7. 如何使用C++写入cin输入流
- 8. C++空间标记cin输入结束?
- 9. C++输入CIN并传递给CMD
- 10. C++,使用cin对scanf输入的值
- 11. 如何检查cin中是否有任何东西[C++]
- 12. 检查用户整数输入与cin给出无限循环
- 13. 如何检查KeyListener输入?
- 14. 如何告诉cin不允许输入空格? (C++)
- 15. 如何在C++中使用组合作为用户输入“cin”
- 16. C++:如何检查cin缓冲区是否为空?
- 17. 如何检查vsyscall模式
- 18. std :: cin的输入无效
- 19. 并不让我输入CIN
- 20. Cin和布尔输入
- 21. CIN未能获得输入
- 22. 输入设置超时(cin)
- 23. 如何反复写入然后读取管道中的数据,如输入“cat | tr az AZ”
- 24. 窗体查看如何检查模式
- 25. 解耦模型和输入检查
- 26. C++如何检查用户输入是否与文件中的输入相同?
- 27. 在C中检查标准输入#
- 28. 检查输入是否为数字C
- 29. 检查C中的输入类型
- 30. 输入检查在c + +中的问题
你尝试'isalpha'? – cppcoder 2012-07-26 06:36:46