Обе функции возвращают число меньшее 0, если первая строка меньше второй, большее нуля если первая строка больше второй и 0, если строки лексикографически равны.
Сравнение строк
ПРЕДУПРЕЖДЕНИЕ
Снизить риск такого развития событий способна функция
При использовании этой функции следует соблюдать осторожность. Опасность заключается в том, что даже если src строка окажется больше, чем память, выделенная для строки dest функция strcpy никак про это узнать не сможет и продолжит копирование в невыделенную память. Разумеется, последствия будут катастрофическими.
Strcpy(str2, str1);
Функция посимвольно копирует содержимое строки, на которую указывает src в строку, на которую указывает dest и возвращает dest.
Строковые функции в большинстве случаев начинаются с букв str. Они обрабатывают строку пока не встретится символ конца строки. Если после str стоит n, то обрабатывается n символов строки.Рассмотрим некоторые из этих функций.
Для работы со строками в языке С имеется множество функций.
Прототипы этих функций определены в заголовочном файле <string.h> . Его необходимо подключать при работе со строками.
Для копирования строк существуют несколько библиотечных функций, наиболее общеупотребительной из которых является функция char* strcpy(char* dest, const char* src)
Последний параметр – максимальное количество копируемых символов. Таким образом, передавая туда размер приемника, вы гарантируете, что функция никогда не выйдет за пределы выделенной памяти. Однако помните, что если исходная строка будет скопирована не полностью, нуль-терминатор не появится в результирующей строке. Его придется записать самостоятельно.
Никогда не забывайте контролировать используемую память!
Для лексикографического сравнения строк используются функции strcmp и stricmp. Первая сравнивает строки с учетом регистра, вторая – без.
Прототипы этих функций таковы:
int stricmp(const char *string1, const char *string2);
int strcmp(const char *string1, const char *string2);
Полагаю, вам не придет в голову сравнивать строки, используя операции ‘<’ и ‘>’.