РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
175 of 815 menu

Функция strlen

Функция strlen вычисляет длину строки в символах и возвращает количество символов до завершающего нулевого символа '\0'. Сама строка при этом не изменяется. В первый параметр мы передаем указатель на C-строку, длину которой нужно вычислить. Функция объявлена в заголовочном файле <cstring>.

Обратите внимание: функция strlen работает именно с C-строками (массивами символов, оканчивающимися нулевым символом), а не с классом string. Для класса string используйте метод length или size.

Синтаксис

size_t strlen(const char* str);

Пример

Давайте вычислим длину строки "abcde":

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; cout << strlen(str) << endl; return 0; }

Результат выполнения кода:

5

Пример

Функция strlen не считает завершающий нулевой символ. Давайте убедимся в этом, вычислив длину строки "12345" и сравнив её с размером массива:

#include <iostream> #include <cstring> using namespace std; int main() { char str[] = "12345"; cout << "strlen: " << strlen(str) << endl; cout << "sizeof: " << sizeof(str) << endl; return 0; }

Результат выполнения кода:

"strlen: 5" "sizeof: 6"

Как видите, strlen вернула 5 символов, а размер массива равен 6 - на единицу больше из-за завершающего нулевого символа.

Пример

Давайте вычислим длину пустой строки:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = ""; cout << strlen(str) << endl; return 0; }

Результат выполнения кода:

0

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

  • метод length,
    который возвращает длину строки класса string
  • метод size,
    который возвращает размер строки класса string
  • функция strcpy,
    которая копирует одну C-строку в другую
  • функция strcmp,
    которая сравнивает две C-строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить