Функция 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