Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2014_2015 / LECT8_new1.pptx
Скачиваний:
25
Добавлен:
27.12.2015
Размер:
1.07 Mб
Скачать

Пример:

char string1[] = "Ivanov Petr"; char string2[] = "IVANOV PETr"; i = strcmp(string1, string2);

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

Ф-я stricmp выполняет сравнение двух строк, не учитывая регистра символов.

int stricmp(const char *strl, const char *str2); Возвращает в качестве ре¬зультата сравнения целую величину:

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

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

Пример:

char string1[] = "Ivanov Petr"; char string2[] = "IVANOV PETr";

Ф-я strncmp выполняет сравнение заданного

количества символов двух строк с учетом регистра символов.

int strncmp(const char *str1, const char *str2, size_t num);

Ф-я сравнивает первые num символов строк str1 и str2. Возвращает в качестве результата сравнения целую величину:

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

> 0 когда str1 больше, чем str2. Пример

char string1[] = "Ivanov Andrey"; char string2[] = "Ivanov Sergey "; i = stricmp(string1, string2, 8);

В данном случае переменной i присваивается отрицательное значение, так как значение "Ivanov A"

меньше, чем "Ivanov S".

Функция strnicmp выполняет сравнение заданного

количества символов двух строк без учета регистра символов.

int strnicmp(const char *str1, const char *str2, size_t num);

Функция сравнивает первые num символов строк str1 и str2, не делая различия в регистре символов. Возвращает в качестве результата сравнения целую величину:

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

> 0 когда str1 больше, чем str2. Пример

char string1[] = "Ivanov Sergey"; char string2[] = "IVANOV STEPAN"; i = strnicmp(string1, string2, 8);

В данном случае переменной i присваивается

значение 0, так как подстрока "Ivanov S" отличается в

ПРЕОБРАЗОВАНИЕ СТРОК

Ф-я strlwr преобразует символы верхнего регистра в символы нижнего регистра в строке source. Другие символы не затрагиваются.

char* strlwr (char *source)

Ф-ия возвращает указатель на строку source.

Пример:

char str[] = "PATIENT of room 12"; strlwr(str);

Переменная str теперь содержит строку "patient of room 12 ".

Ф-я strupr преобразует символы нижнего регистра в символы верхнего регистра в строке source. Другие символы не затрагиваются.

Прототип функции strupr: char* strupr(char *source)

Ф-я возвращает указатель на строку source. Пример

char str[] = "Patient Petrov S.";

ОБРАЩЕНИЕ СТРОК

Библиотека string.h предлагает ф-ю strrev для записи символов в строке в обратном порядке.

Ф-я strrev обращает порядок символов в строке str и возвращает указатель на строку str.

char* strrev(char *str) Функция char str[] = “12345"; strrev(str) ;

printf(“%s”,str);

Будет выведено “54321".

ПОИСК СИМВОЛОВ

Библиотека STRING.H содержит ряд функций для поиска символов в строках. Это функции strchr, strrchr, strspn, strcspn и strpbrk. Они осуществляют поиск в строках символов и простых символьных шаблонов.

Ф-я strchr определяет первое вхождение символа с в

строку target и возвращает указатель на символ в строке target, который соответст¬вует заданному образцу с. Если символ с в строке не обнаруживается, функция возвращает 0.

char* strchr(const char *target, int c) Пример

char str[81] = "PATIENT of room 12"; char *strPtr;

strPtr = strchr(str, 'r');

Указатель strPtr теперь содержит адрес подстроки "room 12" в строке str.

Ф-я strrchr находит последнее вхождение символа с в строку target. Ф-я возвращает указатель на символ в строке target, который соответствует заданному образцу с. Если символ с в строке не обнаруживается, функция возвращает 0.

char* strrchr(const char *target, int c)

Пример:

char str[81] = "PATIENT of room 12"; char* strPtr;

strPtr = strrchr(str, ' ');

Указатель strPtr теперь указывает на подстроку " 12" в строке str.

Ф-я strspn возвращает число символов от начала строки target, совпадающих с любым символом из шаблона pattern.

size_t strspn(const char *target, const char *pattern)

char str[] = “Dorohov S."; char substr[] = “Sidorov V."; int index;

index = strspn(str, substr);

Переменной index присваивается значние 4, потому что первые 4 символа из str содержатся в подстроке substr.

Ф-я strcspn просматривает строку str1 и выдает длину

подстроки, отсчитываемой с начала строки, символы которой полностью отсутствуют в строке str2.

size_t strcspn(const char* str1, const char* str2)

Пример:

char strng[] = "The diagnosis of the…"; int i = strcspn(strng, " di");

Этот пример возвращает 3 (расположение первого пробела в строке strng) переменной i.

Функция strpbrk просматривает строку и ищет в строке target первое вхождение любого символа из образца pattern. Если такие символы не содержатся в строке, ф-я возвращает 0.

char* strpbrk(const char* target, const char* pattern)

Пример:

char *str = "PATIENT of room 12", *ptr, *substr = “or"; ptr = strpbrk(str, substr);

В этом случае ptr будет "of room 12".

Соседние файлы в папке 2014_2015