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