說我正在接受一個字符串,並且想檢查它是否在字符串中有一個大寫字母。我從文件輸入字符串。我將如何去分解它來檢查使用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