Namespaces
Variants

std:: strlen

From cppreference.net
Определено в заголовке <cstring>
std:: size_t strlen ( const char * str ) ;

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

Содержание

Параметры

str - указатель на проверяемую нуль-терминированную байтовую строку

Возвращаемое значение

Длина строки с нулевым завершением str .

Возможная реализация

std::size_t strlen(const char* start)
{
    // ВНИМАНИЕ: start не проверяется на nullptr!
    const char* end = start;
    while (*end != '\0')
        ++end;
    return end - start;
}

Пример

#include <cstring>
#include <iostream>
int main()
{
    const char str[] = "dog cat\0mouse";
    std::cout << "without null character: " << std::strlen(str) << '\n'
              << "with null character: " << sizeof str << '\n';
}

Вывод:

without null character: 7
with null character: 14

Смотрите также

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