|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Сравнение строкПоскольку строки являются массивами символов, вы не можете применить операцию сравнения для проверки равенства двух строк. Библиотека функций STRING.H предлагает набор функций для сравнения строк. Эти функции сравнивают символы двух строк, используя для этого ASCII-коды символов. Это функции strcmp, stricmp, strncmp и strnicmp. Вообще говоря, все функции сравнения работают одинаково: возвращают 0, если две строки совпали, отрицательную величину, если вторая строка больше по величине, и положительное значение, если большей оказалась первая строка. Функция strcmp Функция 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-кодов символов в верхнем.) Функция stricmp Функция stricmp выполняет сравнение двух строк, не учитывая регистра символов. Прототип функции stricmp: int stricmp(const char *strl, const char *str2); Функция сравнивает строки strl и str2, не делая различия между символами в нижнем и верхнем регистре. Возвращает в качестве результата сравнения целую величину: < 0 когда strl меньше, чем str24 = 0 когда strl равна str24 > 0 когда strl больше, чем str2. Пример char string1[] = "Borland C++"; char string2[] = "BORLAND C++"; int i = strcmp(string1, string2);
В последнем операторе переменной i присваивается значение 0, так как string1 и string2 отличаются друг от друга только регистром символов. Функция strncmp выполняет сравнение заданного количества символов двух строк с учетом регистра символов. Функция strncmp Прототип функции strncmp: int strncmp(const char *strl, const char *str2, size_t num); Функция сравнивает первые num символов строк strl и str2. Возвращает в качестве результата сравнения целую величину: < 0 когда strl меньше, чем str2; = 0 когда strl равна str2; > 0 когда strl больше, чем str2. Пример char string1[] = "Borland C++"; char string2[] = "Borland Pascal"; i = stricmp(string1, string2, 9);
В последнем операторе переменной i присваивается отрицательное значение, так как значение "Borland С" меньше, чем "Borland Р". Функция strnicmp Функция strnicmp выполняет сравнение заданного количества символов двух строк без учета регистра символов. Прототип функции strnicmp: int strnicmp(const char *strl, const char *str2, size_t num); Функция сравнивает первые num символов строк strl и str2, не делая различия в регистре символов. Возвращает в качестве результата сравнения целую величину: < 0 когда strl меньше, чем str2; = 0 когда strl равна str2; > 0 когда strl больше, чем str2. Пример char string1[] = "Borland C++"; char string2[] = "BORLAND Pascal"; i = strnicmp(string1, string2, 7);
В последнем операторе переменной i присваивается значение 0, так как подстрока "Borland" отличается в этих строках только регистром. Рассмотрим пример программы, в которой применяются функции сравнения строк. Программа из листинга 5 объявляет массив строк и присваивает им значения. Затем программа выводит исходный массив, сортирует его и выводит значения строк отсортированного массива. | (см. List7_5.cpp - Исходный текст программы STRING2.CPP) Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |