说我正在接受一个字符串,并且想检查它是否在字符串中有一个大写字母。我从文件输入字符串。我将如何去分解它来检查使用ascii值是否有大写值?谢谢!C++检查字符串
Q
C++检查字符串
-3
A
回答
0
您可以使用C++算法库找到,如果一个字符串包含在它的大写值通过使用谓词(使用std的包装版本:: isupper):
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
bool IsUpper (char c) {
return std::isupper(c);
}
bool hasUpperCase (std::string str) {
std::string::iterator it = std::find_if(str.begin(), str.end(), IsUpper);
if (it != str.end()) {
return true;
}
else {
return false;
}
}
int main() {
std::string s = "This contains an uppercase character in it...";
if (hasUpperCase(s)) {
std::cout << "String s contains a least one uppercase character." << std::endl;
}
else {
std::cout << "String s does not contain any uppercase character." << std::endl;
}
}
从here谓语是:
是一个C++函数,返回布尔型或具有bool operator()成员的对象实例。一元谓词取一个agrument,二 - 二, 等问题谓词的例子可以回答特定 算法有:
- 是这个元素就是我们正在寻找的?
- 两个参数中的第一个是按照我们的顺序排在第一位的吗?
- 两个参数是否相等?
几乎所有的STL算法都以谓词作为最后一个参数。
因此,简言之,这部作品由每个角色对谓词函数的字符串:IsUpper
本身使用std::isupper
做检查,看看是否有问题的字符是大写或没有。如果是,则返回true,并将该字符存储在迭代器中。
参考:
http://en.cppreference.com/w/cpp/algorithm/find https://stackoverflow.com/a/5921826/866930
相关问题
- 1. 检查字符串
- 2. 检查字符串
- 3. 检查字符串
- 4. 检查字符串
- 5. 检查字符串
- 6. 检查字符串
- 7. 检查字符串
- 8. 检查字符串
- 9. 检查C++中的另一个字符串中的字符串
- 10. 检查字符串数组中的字符串C
- 11. XML解析:检查字符串C++中的字符串
- 12. 检查字符串可以在C
- 13. C++字符串长度检查
- 14. 检查字符串是否相同C++
- 15. 如何检查字符串C
- 16. c检查重复字符串项
- 17. C:检查字符串是否为Palindrome
- 18. 检查C++中的子字符串
- 19. C#检查字符串数组
- 20. C++ - 检查字符串是否为空
- 21. C#CheckBoxList检查项目字符串
- 22. 检查字符串C++的内容
- 23. C++,检查两个字符串
- 24. 检查字符串的语法 - C#
- 25. 如何检查字符串或INT C#
- 26. 检查字符串的子字符串
- 27. 检查字符串包含字符串
- 28. C - 检查字符串是否是另一个字符串的子字符串
- 29. c# - 检查字符串是否包含字符和数字
- 30. 字母字符检查字符串
'的std :: find_if':http://en.cppreference.com/w/cpp/algorithm/find – us2012
请添加你已经尝试什么,以及一段代码给你带来麻烦。 http://stackoverflow.com/help/how-to-ask –
我还没有尝试过任何东西,因为除了可能将其作为字符数组使用以外,我无法想到任何其他内容,但这是很大的开销。 – user2311799