Стандартные функции обработки строк

Большинство действий над строками реализуется с помощью стандартных функций. Библиотека языка Си содержит большое количество таких функций, прототипы которых определяются в заголовочном файле string.h. Рассмотрим некоторые из них.

Сравнение строк:

strcmp(str1,str2) – сравнивает две строки str1 и str2 и возвращает 0, если они одинаковы; результат отрицателен, если str1<str2 и положителен, если str1>str2.

strncmp(str1, str2, kol) – сравниваются части строк str1 и str2 из kol символов. Результат равен 0, если они одинаковы.

Сравнение двух строк выполняется последовательно слева неправо с учетом кодировки символов. Например, сравнивая стоки st1 и st2

char st1[10]="Пример";

char st2[10]="ПPимер";

int a;

if (strcmp(st1,st2)>0)

a=1;

else

a=2;

переменной а будет присвоено значение 1, так как код символа 'р' больше кода символа 'Р'.

Сцепление строк

strcat(str1,str2) - сцепление строк в порядке их перечисления.

strncat(str1,str2,kol) – приписывает kol символов строки str2 к строке str1.

Функция служит для объединения двух строк в одну. Например, в результате выполнения операторов:

char fam[] = "Андреева С.В. ";

char pr[7]= " "; //7 пробелов

strcat(fam,pr);

printf(“|%20s|”, fam);

на экран выведется строка:

|Андреева С.В. |

Заметим, что строка вывода занимает поле в 20 позиций, а переменная fam располагается в левой части поля.

Определение длины строки

strlen(str) – определяет длину строки str.

Пример.Определить длину строки

charfam[] = "Андреева С.В.";

printf("%d",strlen(fam));

функция strlen() вернёт значение равное 13 (символов).

Копирование строк

strcpy (str1,str2) – копирует строку str2 в строку str1.

strncpy (str1, str2, kol) – копирует kol символов строки str2 в строку str1.

Пример. Скопировать фамилию сотрудника в переменную fam и вывести на экран.

#include "stdafx.h"

#include<string.h>

int main()

{ char fam[15];

char *str = " Андреева С.В.";

strcpy(fam, str);

printf("|%s|\n", fam);

return 0;

}

В результате выполнения данных операторов на экран будет выведена строка:

|Андреева С.В.|


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: