std::char_traits<char>::length, std::char_traits<wchar_t>::length, std::char_traits<char8_t>::length, std::char_traits<char16_t>::length, std::char_traits<char32_t>::length

来自cppreference.com
< cpp‎ | string‎ | char traits
static std::size_t length( const char_type* s );
(C++17 起 constexpr)

返回 s 指向的字符序列长度,即空终止字符(char_type())的位置。

对字符特性的关于 X::length 的通用要求参考字符特性 (CharTraits)

参数

s - 指向要返回长度的字符序列的指针

返回值

s 指向的字符序列的长度。

复杂度

线性。

示例

#include <iomanip>
#include <iostream>
#include <string>
 
void print(const char* str)
{
    std::cout << std::quoted(str) << " 的长度 = "
              << std::char_traits<char>::length(str) << '\n';
}
 
int main()
{
    print("foo");
 
    std::string s{"booo"};
    print(s.c_str());
}

输出:

"foo" 的长度 = 3
"booo" 的长度 = 4