Работа со строками в C

Работа со строками в C

Имеется ряд функций для работы со строками в C.

Файл String.h содержит прототипы функций работы со строками C.

Прямо сейчас на примерах рассмотрим Си функции работы со строками.

strcmp

Сравнение строк в C, пример:

Две C строки объявлены в примере. Они одинаковы. Предложим функции сравнения строк в C strcmp сравнить эти строки. Прототип функции strcmp в файле String.h:

int strcmp(const char * _Str1, const char * _Str2);

Если символы строки _Str1 раньше встречаются в алфавите, то _Str1 больше, чем _Str2 и результат функции будет меньше нуля. Если они равны, как в примере, то результат равен нулю. Если символы строки _Str2 раньше встречаются в алфавите, то _Str2 больше, чем _Str1 и результат функции будет меньше нуля. Функция strcmp различает большие и маленькие буквы.

В примере строки равны, поэтому получаем: C String

Нулевой результат говорит о том, что строки равны.

stricmp

Ещё одна функция сравнения строк в Си в файле String.h

int stricmp(const char * _Str1, const char * _Str2);

игнорирует разницу больших и маленьких букв, в остальном такая же как и strcm.

strlen

Длину строки в Си определяет функция strlen из файла String.h:

size_t strlen(const char * _Str);

Функция strlen возвращает длину строки C в виде количества байтов. Пример strlen:

Получаем: strlen

В примере строка “stroka” содержит 6 символов. Функция определения длины строки C strlen выдаёт результат 6 байтов, т.е. одному символу соответствует один байт. Так оно и есть на самом деле.

strcpy

strcpy – копирование строк в C. Это ещё одна функция работы со строками C. Пример копирования строки в Си:

В примере создаём массив cMassiv для элементов типа char, и строку szStr. Функция strcpy копирует szStr в первый элемент массива, т.е. в cMassiv[0].

Получаем: strcpy

Прототип функции strcpy:

char * strcpy(char * _Dst, const char * _Src);

strncpy

strncpy – копирование строк в C. Это ещё одна функция работы со строками C. Пример копирования строки в Си:

Получаем: strncpy

В примере создаём массив cMassiv для элементов типа char, и строку szStr. Функция strcpy копирует szStr в первый элемент массива, т.е. в cMassiv[0]. А далее с помощью функции strncpy копируем 3 первых символа строки szStr2 в строку, хранящуюся в первом элементе массива, т.е. в cMassiv[0].

Прототип функции strncpy:

char * strcpy(char * _Dst, const char * _Src, size_t _MaxCount);

strcat

strcat – конкатенация строк в C, т.е. присоединение одной строки к другой. Это ещё одна функция работы со строками C. Пример конкатенации строки в Си:

Получаем: strcat

Прототип функции strcat:

char * strcat(char * _Dst, const char * _Src);

strncat

strncat – конкатенация строк в C, т.е. присоединение одной строки к другой. Это ещё одна функция работы со строками C. Пример конкатенации строки в Си:

Получаем: strcat

Здесь прибавляем три символа втрой строки к первой.

Прототип функции strncat:

char * strncat(char * _Dst, const char * _Src, size_t _MaxCount);

strstr

strstr – поиск первого вхождения одной строки в другую. Это ещё одна функция работы со строками C. Пример в Си:

Получаем: strstr

Прототипы функции strstr:

char *strstr(char *szStr, const char *szSubStr);
const char *strstr(const char *szStr, const char *szSubStr);