Namespaces
Variants

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

From cppreference.net
static std:: size_t length ( const char_type * s ) ;
(C++17以降 constexpr)

s が指す文字シーケンスの長さ、すなわち終端ナル文字 ( char_type ( ) ) の位置を返します。

CharTraits の一般的な要件については、 X::length の文字特性に関する一般要件を参照してください。

目次

パラメータ

s - 長さを取得する文字シーケンスへのポインタ

戻り値

s が指す文字シーケンスの長さ。

計算量

線形。

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

出力:

"foo" has length = 3
"booo" has length = 4