📅  最后修改于: 2023-12-03 15:40:34.505000             🧑  作者: Mango
在某些情况下,我们需要检查一个字符串是否全部为大写字母。这个问题可以很容易地通过遍历字符串并检查每个字符是否为大写实现。
以下是一个C++函数,它检查一个字符串是否全部为大写,并返回布尔值。
#include <iostream>
#include <ctype.h>
#include <string.h>
bool is_all_upper_case(const char* str)
{
if (str == NULL || strlen(str) == 0)
return false;
for (int i = 0; i < strlen(str); i++)
{
if (!isupper(str[i]))
return false;
}
return true;
}
int main()
{
const char* str1 = "HELLO WORLD";
const char* str2 = "hello world";
const char* str3 = "";
std::cout << std::boolalpha << is_all_upper_case(str1) << std::endl; // true
std::cout << std::boolalpha << is_all_upper_case(str2) << std::endl; // false
std::cout << std::boolalpha << is_all_upper_case(str3) << std::endl; // false
return 0;
}
在上面的代码中,我们首先对传入的字符串进行了一些基本检查,例如字符串是否为空或长度为零。然后我们使用循环遍历字符串,并使用isupper
函数检查每个字符是否为大写。如果有一个字符不是大写,我们就返回false。如果所有的字符都是大写,我们就返回true。
使用上述函数,我们可以轻松地检查一个字符串是否全部为大写字母。