Работа со строками в C
Имеется ряд функций для работы со строками в C.
Файл String.h содержит прототипы функций работы со строками C.
Прямо сейчас на примерах рассмотрим Си функции работы со строками.
strcmp
Сравнение строк в C, пример:
Две C строки объявлены в примере. Они одинаковы. Предложим функции сравнения строк в C strcmp сравнить эти строки. Прототип функции strcmp в файле String.h:
Если символы строки _Str1 раньше встречаются в алфавите, то _Str1 больше, чем _Str2 и результат функции будет меньше нуля. Если они равны, как в примере, то результат равен нулю. Если символы строки _Str2 раньше встречаются в алфавите, то _Str2 больше, чем _Str1 и результат функции будет меньше нуля. Функция strcmp различает большие и маленькие буквы.
В примере строки равны, поэтому получаем:
Нулевой результат говорит о том, что строки равны.
stricmp
Ещё одна функция сравнения строк в Си в файле String.h
игнорирует разницу больших и маленьких букв, в остальном такая же как и strcm.
strlen
Длину строки в Си определяет функция strlen из файла String.h:
Функция strlen возвращает длину строки C в виде количества байтов. Пример strlen:
Получаем:
В примере строка “stroka” содержит 6 символов. Функция определения длины строки C strlen выдаёт результат 6 байтов, т.е. одному символу соответствует один байт. Так оно и есть на самом деле.
strcpy
strcpy – копирование строк в C. Это ещё одна функция работы со строками C. Пример копирования строки в Си:
В примере создаём массив cMassiv для элементов типа char, и строку szStr. Функция strcpy копирует szStr в первый элемент массива, т.е. в cMassiv[0].
Получаем:
Прототип функции strcpy:
strncpy
strncpy – копирование строк в C. Это ещё одна функция работы со строками C. Пример копирования строки в Си:
Получаем:
В примере создаём массив cMassiv для элементов типа char, и строку szStr. Функция strcpy копирует szStr в первый элемент массива, т.е. в cMassiv[0]. А далее с помощью функции strncpy копируем 3 первых символа строки szStr2 в строку, хранящуюся в первом элементе массива, т.е. в cMassiv[0].
Прототип функции strncpy:
strcat
strcat – конкатенация строк в C, т.е. присоединение одной строки к другой. Это ещё одна функция работы со строками C. Пример конкатенации строки в Си:
Получаем:
Прототип функции strcat:
strncat
strncat – конкатенация строк в C, т.е. присоединение одной строки к другой. Это ещё одна функция работы со строками C. Пример конкатенации строки в Си:
Получаем:
Здесь прибавляем три символа втрой строки к первой.
Прототип функции strncat:
strstr
strstr – поиск первого вхождения одной строки в другую. Это ещё одна функция работы со строками C. Пример в Си:
Получаем:
Прототипы функции strstr:
const char *strstr(const char *szStr, const char *szSubStr);