C++ 标准库 - <string>

C++ std::string::size() 返回当前字符串中的字符个数,类型为 size_t。成员 length() 与 size() 语义相同,教学与库代码中更常见 size。

原型

size_t size() const;
size_t length() const;

参数

  • 无参数。对空串返回 0。

返回值

字符个数,不含 C 风格字符串中额外书写的结束符概念;std::string 内部维护长度,不必扫描到 '\0'。

示例

#include <iostream>
#include <string>

int main() {
    std::string s = "C++";
    std::cout << s.size() << " " << s.length() << std::endl;
    s.clear();
    std::cout << s.size() << std::endl;
    return 0;
}

输出:

3 3
0

注意事项

中文等多字节编码下,size() 计的是存储单元个数(对 std::string 即字节),不是显示上的字形个数。需要按码点或字形计量时,应使用相应的 Unicode 库,而不是把 size() 当作显示宽度。

下一页介绍empty:判断字符串是否不含字符。