Программирование на C

Длина строки на языке C

Длина строки на языке C
Строка на языке C - это массив символов, заканчивающийся нулевым символом (\ 0). Длина строки - это количество символов в строке. В строке длиной '\ 0' символ не учитывается.

В показанном выше примере длина строки ул 6 лет.

В этом уроке сначала мы покажем, как использовать определяемая пользователем функция для вычисления длины строки, а затем мы покажем вам встроенную библиотечную функцию strlen (). Мы также покажем вам использование размер оператор для строковых литералов.

Длина строки с использованием функции, определяемой пользователем

Вы можете написать определяемую пользователем функцию, которая возвращает количество символов в строке.

// Пример1.c
#включать
int stringLength (char * str)

int я = 0;
в то время как (str [i] != '\ 0') я ++;
вернуть я;

int main ()

char str [30] = "СТРОКА";
printf ("Длина строки str =>% d \ n", stringLength (str));
возврат 0;

Здесь мы повторяем цикл while из я = 0 пока мы не встретим '\ 0' персонаж. Значение я увеличивается на 1 в каждой итерации цикла while. Когда цикл заканчивается, значение я это длина строки.

Длина строки с использованием встроенной функции библиотеки

Встроенная библиотечная функция strlen () также может использоваться для определения длины строки.

Функция strlen ():

Заголовочный файл:

нить.час

Синтаксис:

size_t strlen (const char * str)

Аргумент: Эта функция принимает аргумент указателя типа на char.

Возвращаемое значение: Эта функция возвращает длину строки ул. Обратите внимание, что size_t это просто псевдоним беззнакового целого числа.

// Пример2.c
#включать
#включать
int main ()

char str1 [30] = "СТРОЧНЫЙ МАССИВ";
char * str2;
char * str3;
str2 = str1;
str3 = "УКАЗАТЕЛЬ СТРОКИ";
printf ("Длина строки str1 =>% ld \ n", strlen (str1));
printf ("Длина строки str2 =>% ld \ n", strlen (str2));
printf ("Длина строки str3 =>% ld \ n", strlen (str3));
printf ("Длина строки" STRING LITERALS "=>% ld \ n", strlen ("STRING LITERALS"));
возврат 0;

Здесь мы передаем строковый массив, строковый указатель и строковый литерал в функцию strlen, и функция возвращает длину строки.

Длина строки с использованием оператора sizeof

Мы также можем использовать размер оператор длины строки (только для строкового литерала). Но мы должны вычесть 1 из значения, возвращаемого этим оператором, потому что он также считает символ '\ 0'. Для массива и указателя оператор sizeof возвращает выделенный размер массива и указателя соответственно.

// Example3.c
#включать
int main ()

char str1 [30] = «СТРОКА»;
char * str2 = str1;
printf ("Длина" СТРОКИ "=>% d \ n", (sizeof ("STRING") - 1));
printf ("Выделенный размер массива str1 =>% d \ n", sizeof (str1));
printf ("Размер указателя str2 =>% d \ n", sizeof (str2));
возврат 0;

Здесь, в строке № 9, мы передаем строковый литерал «STRING» и получаем размер, включая символ '\ 0'. Итак, вычитаем 1 и получаем фактический размер строки.

Когда мы передаем массив оператору sizeof, он возвращает выделенный размер массива, равный 30, а при передаче символьного указателя возвращает размер указателя.

Заключение

Итак, в этом уроке мы показали вам, как можно рассчитать длину строки различными способами. Вы можете использовать в своем коде любой метод, который вам больше всего подходит.

Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...