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

std::strlen

Материал из cppreference.com
< cpp‎ | string‎ | byte
 
 
 
Однобайтовые строки с завершающим нулём
Функции
Манипуляции с символами
Преобразование в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Манипуляции со строками
Проверка строки
Манипуляции с памятью
Разное
 
Определено в заголовочном файле <cstring>
std::size_t strlen( const char* str );

Возвращает длину заданной строки байтов, то есть количество символов в массиве символов, на первый элемент которого указывает str, до первого нулевого символа и не включая его. Поведение не определено, если в массиве символов, на который указывает str, нет нулевого символа.

Содержание

[править] Параметры

str указатель на строку байтов с нулевым завершающим символом, подлежащую проверке

[править] Возвращаемое значение

Длина строки str, завершающейся нулём.

[править] Возможная реализация

std::size_t strlen(const char* start)
{
    // Примечание: проверка nullptr не производится!
    const char* end = start;
    for( ; *end != '\0'; ++end)
        ;
    return end - start;
}

[править] Пример

#include <cstring>
#include <iostream>
 
int main()
{
    const char str[] = "How many characters does this string contain?";
 
    std::cout << "без нулевого символа: " << std::strlen(str) << '\n'
              << "с нулевым символом: " << sizeof str << '\n';
}

Вывод:

без нулевого символа: 45
с нулевым символом: 46

[править] Смотрите также

возвращает длину широкой строки
(функция) [править]
возвращает количество байтов в следующем мультибайтовом символе
(функция) [править]