C++如何判断字符串是否为空_C++ string empty函数使用方法

empty()函数用于判断字符串是否无字符,返回true表示空。示例中str1.empty()为真,str2.empty()为假。注意它不检测空白字符,仅看长度是否为0,时间复杂度O(1),推荐使用。

在C++中,判断字符串是否为空是一个常见的操作。我们通常使用标准库中的 std::string 类型,并调用其成员函数 empty() 来完成这一任务。

什么是 empty() 函数?

empty()std::string 提供的一个成员函数,用于检查字符串是否包含字符。如果字符串没有字符(即长度为0),该函数返回 true;否则返回 false

相比使用 length() == 0size() == 0empty() 更加直观且效率相当,是推荐的写法。

empty() 使用方法示例

下面是一些常见的使用场景和代码示例:

  • 定义一个空字符串并判断
  • 从用户输入获取字符串后判断
  • 在条件语句中使用 empty() 进行逻辑控制

示例代码:

#include 
#include 

int main() {
    std::string str1 = "";
    std::string str2 = "Hello";

    if (str1.empty()) {
        std::cout << "str1 是空字符串" << std::endl;
    }

    if (!str2.empty()) {
        std::cout << "str2 不是空字符串,内容是: " << str2 << std::endl;
    }

    return 0;
}

输出结果:

str1 是空字符串
str2 不是空字符串,内容是: Hello

注意事项

使用 empty() 时需要注意以下几点:

  • 它只判断字符串是否有字符,不关心内容是否是空白字符(如空格、制表符)。例如,字符串 " " 虽然看起来“空”,但 empty() 返回 false
  • 若需判断是否只包含空白字符,需要自行遍历或使用 find_first_not_of(" \t\n\r") 等方法。
  • empty() 时间复杂度为 O(1),性能高效,可放心在循环或频繁调用中使用。

基本上就这些。使用 string::empty() 是判断C++字符串是否为空最简洁、安全的方式。