Студопедия


Авиадвигателестроения Административное право Административное право Беларусии Алгебра Архитектура Безопасность жизнедеятельности Введение в профессию «психолог» Введение в экономику культуры Высшая математика Геология Геоморфология Гидрология и гидрометрии Гидросистемы и гидромашины История Украины Культурология Культурология Логика Маркетинг Машиностроение Медицинская психология Менеджмент Металлы и сварка Методы и средства измерений электрических величин Мировая экономика Начертательная геометрия Основы экономической теории Охрана труда Пожарная тактика Процессы и структуры мышления Профессиональная психология Психология Психология менеджмента Современные фундаментальные и прикладные исследования в приборостроении Социальная психология Социально-философская проблематика Социология Статистика Теоретические основы информатики Теория автоматического регулирования Теория вероятности Транспортное право Туроператор Уголовное право Уголовный процесс Управление современным производством Физика Физические явления Философия Холодильные установки Экология Экономика История экономики Основы экономики Экономика предприятия Экономическая история Экономическая теория Экономический анализ Развитие экономики ЕС Чрезвычайные ситуации ВКонтакте Одноклассники Мой Мир Фейсбук LiveJournal Instagram

Анализ строковых функций




Подробное описание встроенных функций для работы со строками как массивами символов с завершающим нулём можно найти в справочной литературе ( [ ], часть 2, глава 2 ).

Прототипы функций для работы со строками находятся в заголовочном файле string.h, а для работы с символами — в файле ctype.h.

В заголовке функции в качестве параметров в скобках могут использоваться следующие типы данных.

Параметр, описанный как char *str, означает указатель на строку. Если перед ним записано ключевое слово const, то это говорит о том, что данный параметр в функции не меняется. Например, из следующего прототипа функции копирования

char *strcpy (char *str1, const char * str2)

видно, что вторая строка после выполнения функции останется без изменения. Иногда, но не всегда, это помогает по одному заголовку функции понять назначение таких параметров. Для приведенной выше функции слово const “подсказывает” нам, что вторая строка копируется на место первой, а не наоборот.

Тип int ch используется чаще всего для объявления одного символа. Но так как типы int и char совместимы, то при вызове функции вместо такого параметра можно указывать переменную, объявленную с типом char, то есть один символ.

Для объявления целых чисел, которые, как правило, означают количество символов, используется тип size_t. Он определён в соответсвующих заголовочных файлах и является беззнаковым целым числом, то есть unsigned int. Например, в функции

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

третий параметр определяет количество копируемых символов.

Приведём классификацию функций по типу возвращаемых параметров и по назначению.

1). Многие строковые функции имеют тип char *. Это означает, что они возвращают указатель на начало найденной или полученной строки или адрес найденного в строке символа. По назначению такие функции можно разделить на следующие группы.

Функции копирования:

char *strcpy(char* s1, const char* s2) — строку s2 копирует в s1;

char *strncpy(char* s1,const char* s2, size_t count) — копирует не более count символов из строки s2 в s1;

char *strdup(const char *s) — выделяет память для хранения копии строки, на которую указывает s, копирует эту строку в выделенную область и взвращает указатель на неё.

Функции соединения строк:

char *strcat(char* s1, const char* s2) — строку s2 присоединяет к строке s1;

char *strncat(char* s1, const char* s2, size_t count) — не более count символов из строки s2 присоединяет к строке s1.

Функции поиска:

char * strchr( const char* s, char c) — находит первое вхождение символа с в строку s. Возвращает указатель на найденный символ или NULL, если символ не обнаружен.




char * strrchr( const char* s, char c) — находит последнее вхождение символа с в строку s. Возвращает указатель на найденный символ или NULL, если символ не обнаружен.

char * strstr( const char* s, const char* substr) —ищет в s первое вхождениеподстроки substr. Возвращает указатель на первый символ найденной подстроки или NULL, если такая подстрока не найдена.

char *strpbrk( const char *s1, const char *s2) — возвращает указатель на первый символ в строке s1, совпадающий с каким-нибудь из символов строки s2. При этом нулевые сиволы в конце строк в рассмотрение не включаются.

char * strtok( const char* s1, const char* s2) — возвращает указатель на следующую лексему (часть строки) в строке s1. Символы строки s2 используются как ограничители, определяющие лексему. Как и в других функциях поиска, если лексема не найдена, возвращается NULL.

Функции преобразования строк:

char * strupr( char* s) — английские буквы нижнего регистра (“маленькие”) строки, на которую указывает s, преобразует в соответствующие буквы верхнего регистра (в “большие”). Остальные символы не меняются;

char * strlwr( char* s) — английские буквы верхнего регистра (прописные) строки, на которую указывает s, преобразует в соответствующие буквы нижнего регистра (в “маленькие”). Остальные символы не меняются.





Дата добавления: 2015-02-24; просмотров: 325; Опубликованный материал нарушает авторские права? | Защита персональных данных | ЗАКАЗАТЬ РАБОТУ


Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 9621 - | 7579 - или читать все...

Читайте также:

 

34.226.234.20 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.


Генерация страницы за: 0.002 сек.