Популярные строковые функции в C [с примерами]
Опубликовано: 2020-10-21Строки в языке C представляют собой массив символов, заканчивающийся нулевыми символами ('\0'). Нулевой символ в конце строки указывает на ее конец, и строки всегда заключаются в двойные кавычки. В языке C символы заключаются в одинарные кавычки. Некоторые примеры обоих из них показаны ниже;
Пример или представление символов C и строк
- char string[10] = { 's','d','f','d','t','j','a','\0' };
- char string[10]="свежее";
- char string[]=”свежее”;
Между объявлениями строк в обоих приведенных выше операторах есть небольшая разница. Например, когда мы объявляем char как строку [10], 10 байтов памяти выделяются для хранения 10 значений строки, а когда мы объявляем его как строку [], тогда память выделяется во время выполнения программы.
Оглавление
Объявление строки и инициализация
В программировании на C строки могут быть объявлены двумя способами, как показано выше. В программировании на C строка — это последовательность символов, заканчивающаяся нулем или символом '\0'. Пример того же приведен ниже:
char temp[]=”временная строка”;
Если объявлена строка символов типа char, заключенная в двойные кавычки, то \0 автоматически добавляется в конец строки. Например:

char temp[]=”временная строка”;
т | е | м | п | с | т | р | я | н | грамм | \0 |
Объявление строки
Строка в языке C объявляется следующим образом:
температура символа[5];
с[0] с[1] с[2] с[3] с[4]
Таким образом, мы можем инициализировать строку длиной 5.
Инициализация строки
Инициализацию строки можно выполнить разными способами, некоторые из них приведены ниже:
char t[]=”временная строка”;
char t[10]=”временная строка”;
char t[]={'t','e','m', 'd','\0'};
char t[5]={'t','e','m', 'd','\0'};
Т | е | м | п | \0 |
т[0] т[1] т[2] т[3] т[4]
В приведенном выше типе объявления мы можем хранить только строки, содержащие только четыре символа, а если вы хотите сохранить пять символов в такой строке или массиве, вам может понадобиться массив символов большей длины.
Читайте: Массив строк в Java: массив строк Java с примерами кодирования
Присвоение значений строкам
Массивы и строки не поддерживают операторы присваивания. После объявления строк вы не можете присваивать значения переменным строкового типа. Например, на языке C мы не можем писать и присваивать значения следующим образом:
символ т[100];
t=”температурное значение”;
Обработка строк в C
Теперь мы собираемся задействовать некоторые из популярных строковых функций в C , которые значительно упрощают работу со строками. С помощью этих функций можно легко выполнять над строками несколько операций, таких как чтение строки, копирование или обращение строки, а также многие другие операции.
Строковые операторы или строковые функции могут использоваться непосредственно для управления строками. Здесь, в этой статье, мы объясним библиотечные функции, такие как gets(), puts(), strlen(), strcopy() и многие другие, чтобы объяснить обработку строк в C.
Иногда программистам приходится писать строковые функции, чтобы манипулировать ими в соответствии с требуемой задачей. Однако манипуляции со строками можно выполнять вручную, но это может сделать программирование довольно сложным и объемным.
В C существует стандартная библиотека строковых функций , известная как «string.h». Этот заголовочный файл с расширением «.h» содержит множество функций обработки строк с различным синтаксисом. Мы собираемся обсудить некоторые из них в следующем разделе этой статьи:
Список некоторых общих функций обработки строк в C
Функция | Описание |
стрлен() | Может вычислить длину строки |
Строка() | Может копировать содержимое строки в другую |
Стркат() | Используется для конкатенации или соединения двух строк |
Стркмп() | Можно сравнить две строки |
Стрлвр() | Может преобразовать строку в нижний регистр |
Струпр() | Используется для преобразования букв строки в верхний регистр |
Стррев() | Используется для обращения строки |
Когда вам нужно использовать любую из функций обработки строк в вашей программе, функции не ограничиваются только этим множеством. Есть и много других функций. Итак, давайте обсудим их:
1) ставит() и получает()
Две популярные функции получения и помещения файла заголовка строки используются для получения ввода от пользователя и отображения строки соответственно. Обе эти функции определены в файле string.h. Давайте посмотрим на один пример этих функций:
#включить основной()
Внутренний основной ()
{
температура символа[20];
printf("Введите ваше имя");
получает (темп);
printf("Меня зовут: ");
ставит (темп);
вернуть 0;
}
2) улкат()
Для случаев, когда одна строка должна быть добавлена в конец другой строки, используется эта функция. Функция strcat может добавить копию исходной строки в конец строки назначения. Пользователь должен передать два аргумента, которые описаны ниже:

я) источник
ii) пункт назначения
Здесь на месте «src» указана строка, а на месте «dest» указана целевая строка, в которую мы должны добавить исходную строку.
Пример
#include<string.h>
основной ()
{
char src[20]= «до»;
char dest[20]= «после»;
strcat (назначение, источник);
ставит (назначение);
вернуть 0;
}
Вывод будет: после до
3) Функция стрлен()
Еще одна функция заголовочного файла строки, которую можно напрямую использовать для строк, — это strlen(). Вы можете использовать функцию strlen(), строковую функцию в C , когда вам нужно узнать длину любой строки. Однако можно также написать программу вручную, чтобы узнать длину любой строки, но использование этой прямой функции может сэкономить ваше время, и пример приведен ниже:
#include<stdio.h>
основной ()
{
внутренняя длина;
char s[20] = «Мы здесь»;
длина=strlen(s);
printf("\Длина строки = %d\n", длина);
вернуть 0;
}
Длина строки = 11
4) Функция strcpy()
Если вам нужно скопировать содержимое одной строки в другую строку, то используется эта функция. Синтаксис функции: strcpy(dest,source). Функция может копировать содержимое одной строки в другую. Один из примеров функции приведен ниже:
#include<string.h>
основной ()
{
char src[20]= «Пункт назначения»;
char dest[20]= "";
printf("\n исходная строка = %s", src);
printf("\n строка назначения = %s", dest);
strcpy (назначение, источник);
printf("\nцелевая строка после strcpy() = %s", dest);
вернуть 0;
}
Выход
Исходная строка = пункт назначения
Целевая строка =
Целевая строка после strcpy() = Destination
Узнайте: StringBuffer и StringBuilder: разница между StringBuffer и StringBuilder
5) Функция стркмп()
Чтобы сравнить две строки, чтобы узнать, одинаковы они или нет, мы можем использовать функцию strcmp(). Функция возвращает определенное значение, которое может быть равно 0, >0 или <0. В этой функции два переданных значения обрабатываются как чувствительные к регистру, что означает, что «A» и «a» обрабатываются как разные буквы. Значения, возвращаемые функцией, используются как:
i) 0 возвращается, когда две строки совпадают
ii) Если str1<str2, то возвращается отрицательное значение
iii) Если str1>str2, то возвращается положительное значение.
Пример:
#include<stdio.h>
#include<string.h>
основной ()
{
char str1[]=”копировать”;
char str2[]=”Трофей”;
интервал I,j,k;
i=strcmp(str1, «копировать»);
j = strcmp (str1, str2);
k-strcmp(str1, "f");
printf("\n %d %d %d",I,j,k);
вернуть 0;
}
Выход: 0 -1 1
6) Функции strlwr() / strupr()
Иногда вам может понадобиться преобразовать строчные буквы любой строки в прописные или наоборот. Для этой цели в C есть две прямые строковые функции , их можно использовать для выполнения преобразований либо из верхнего регистра в нижний, либо наоборот. Здесь мы объяснили пример того же самого:
#include<stdio.h>
#include<string.h>
основной ()
{
char str[]=”ПРЕОБРАЗОВАТЬ меня в нижний регистр”;
printf("%s\n", strlwr(str));
вернуть 0;
}
Вывод: преобразовать меня в нижний регистр
Точно так же, если мы будем использовать функцию strupr вместо strlwr, то все содержимое будет преобразовано в буквы верхнего регистра. Мы можем использовать функцию strupr, определенную в заголовочном файле строки. С помощью этой функции преобразуются все буквы строки, что также не требует длительной ручной процедуры.
7) Функция стррев()
Если вы хотите перевернуть любую строку без написания какой-либо огромной или обширной программы вручную, вы можете использовать эту функцию. Функция strrev() используется для реверсирования содержимого строки. Функция Strrev используется для проверки характера строки, является ли данная строка палиндромом или нет. Несколько других применений и приложений также присутствуют для функции реверса строки. Одно из его применений приведено ниже:
#include<stdio.h>
#include<string.h>
основной ()
{
char temp[20]=”Реверс”;
printf("Строка перед реверсированием: %s\n", temp);
printf("Строка после strrev() :%s", strrev(temp));
вернуть 0;
}

Еще несколько функций обработки строк с целью:
Как мы уже говорили ранее, в C существует больше строковых функций. Некоторые другие часто используемые функции для обработки строк в C:
Функция | Цель |
стрхр() | Возвращает указатель на первое вхождение char в str1. |
стрдуп() | Он может дублировать строку |
улсет() | Устанавливает все символы строки в заданный символ |
стррчр() | Используется для обнаружения вхождения первого указывающего символа |
Читайте также: Класс сканера в Java: типы конструкторов и методов, как использовать
Заключительные слова
Как и любой другой язык C, он также имеет обширную библиотеку готовых к использованию или встроенных функций. Для обработки любой строки символов вы можете использовать эти функции напрямую. Однако этим функции не ограничиваются. В заголовочном файле C есть много других строковых функций . Основное преимущество их заключается в сокращении времени и длины кодирования.
Если вам интересно узнать больше о Java, ООП и разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad и IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов тщательного обучения, 9 + проекты и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.