Пространства имён
Варианты
Действия

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
 
 
 
 
<tbody> </tbody>
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) << " имеет длину = "
              << std::char_traits<char>::length(str) << '\n';
}

int main()
{
    print("foo");
    
    std::string s{"booo"};
    print(s.c_str());
}

Вывод:

"foo" имеет длину = 3
"booo" имеет длину = 4