Функция strcmp

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

Функция strncat

Пример

Функция strcat

Конкатенация строк означает их последовательное присоединение друг к другу. Прототип функции strcat таков:

char *strcat(char *target, const char *source) ;


Функция добавляет к содержимому целевой строки содержимое строки-источника и возвращает указатель на целевую строку. Функция предполагает, что целевая строка может вместить содержимое объединенной строки.

char string[81] ; strcpy(string, "Turbo"); strcat (string, " C++");

Переменная string содержит строку "Turbo C++".

Функция strncat добавляет к содержимому целевой строки указанное количество символов из строки-источника. Прототип функции strcat :

char *strncat(char *target, const char *source, sizet num);

Функция добавляет к содержимому целевой строки num символов из строки-источника и возвращает указатель на целевую строку. char strl[81] = "Hello I am "; char str2[41] = "Keith Thompson"; strncat(strl, str2, 5);

Переменная strl теперь содержит строку "Hello I am Keith".

Пример использования функций getline, strlen и strcat в файле List7_4.cpp

(исходный код программы STRING.CPP). Программа выполняет следующие

задачи:

• Предлагает вам ввести строку; ввод не должен превышать 40 символов

• Предлагает вам ввести вторую строку; ввод не должен превышать 40 символов

• Выводит число символов, содержащихся в каждой строке

• Присоединяет вторую строку к первой

• Выводит результат конкатенации

• Выводит длину объединенной строки

• Предлагает вам ввести символ для поиска

• Предлагает вам ввести символ для замены

• Выводит содержимое объединенной строки после замены символа

Поскольку строки являются массивами символов, вы не можете применить операцию сравнения для проверки равенства двух строк. Библиотека функций STRING.H предлагает набор функций для сравнения строк. Эти функции сравнивают символы двух строк, используя для этого ASCII-коды символов. Это функции strcmp, stricmp, strncmp и strnicmp.

Вообще говоря, все функции сравнения работают одинаково: возвращают 0, если две строки совпали, отрицательную величину, если вторая строка больше по величине, и положительное значение, если большей оказалась первая строка.

Функция strcmp выполняет сравнение двух строк с учетом регистра символов. Прототип функции strcmp:

int strcmp(const char *strl, const char *str2);

Функция сравнивает строки strl и str2. Возвращает в качестве результата сравнения целую величину:


< 0 когда strl меньше, чем str2;
= 0 когда strl равна str2;

> 0 когда strl больше, чем str2.

Пример

char stringl[] = "Borland C++"; char string2[] = "BORLAND C++"; i = strcmp(string1, string2);

В последнем операторе переменной i присваивается положительное значение, так как string1 больше string2 (ASCII-коды символов в нижнем регистре больше ASCII-кодов символов в верхнем.)