Spec-Zone.ru › C++

std::strlen

Определён в заголовочном файле <cstring>
std::size_t strlen( const char* str );

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

Параметры

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

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

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

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

std::size_t strlen(const char* start)
{
    // NB: start is not checked for 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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/byte/strlen

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API