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 ) ;
(constexpr начиная с C++17)

Возвращает длину символьной последовательности, на которую указывает 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