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
См. также
| возвращает длину широкой строки (функция) |
|
| возвращает количество байтов в следующем многобайтовом символе (функция) |
|
Документация C для strlen |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strlen