Работа со строками символов
Borland С++ содержит богатую коллекцию функций для работы со строками символов.
Сделаем несколько общих замечаний относительно использования функций библиотек. Прототипы функций содержатся в заголовочном файле <string.h>. Функции работают с ASCIIZ-строками. Если в строке отсутствует нуль - терминатор, обработка строки может подолжаться сколь угодно долго. Функции в качестве аргументов, как правило, передаются указатели на строки. Если при выполнении функции выполняется перенос символов строки из места-источника в место-назначение, для строки в месте назначения должно предварительно резервироваться место в памяти. Копирование строк с использованием просто указателя, а не адреса начала предварительного описания массива - одна из самых распространенных ошибок программирования. Поэтому, работая со строками, будьте осторожны и обязательно обращайте внимание на предупреждения системы программирования типа “Подозрительное преобразование указателя” (suspicious pointer conversion) или “Использование указателя до инициализации” (Possible use of... before definition). При выделении места для строки-назначения следует выделить место и для нуль-терминатора.
Ниже в таблице перечислены функции Borland С++ для работы со строками символов, а далее приведены несколько их спецификаций.
Таблица 11
Таблица функций для работы со строками символов
Имя функции | Выполняемое действие |
stpcpy | Копирует строку 2 в строку 1 |
strcat | Присоединяет строку 2 в конец строки 1 |
strchr | Возвращает позицию первого вхождения символа в строку |
strcmp | Сравнивает строку 1 со строкой 2, различая прописные и строчные буквы |
strcmpi | Идентична strcmp |
strcpy | Копирует строку 2 в строку 1 |
strcspn | Возвращает позицию первого вхождения символа из заданного набора символов |
strdup | Выделяет память и делает копию строки |
strerror | Возвращает по заданному номеру системной ошибки указатель на строку текста сообщения об ошибке |
_strerror | Возвращает указатель на строку, образованную объединением произвольной строкии сообщения об ошибке в библиотечной функции |
stricmp | Сравнивает строку 1 со строкой 2, не различая прописные и строчные буквы |
strlen | возврвщает длину строки в байтах, не учитывая нуль-терминатор |
strlwr | Преобразует все символы строки в строчные буквы |
strncat | Присоединяет заданное число символов строки 2 в конец строки 1 |
strncmp | Сравнивает заданное число символов двух строк, различая прописные и строчные буквы |
strncmpi | Эквивалентна strnicmp |
strncpy | Копирует заданное число символов строки 2 в строку 1 |
strnicmp | Сравнивает заданное число символов двух строк, не различая прописные и строчные буквы |
strnset | Помещает заданный символ в заданное число позиций строки |
strpbrk | Отыскивает место первого вхождения любого символа из заданного набора |
strrchr | Отыскивает последнее вхождение любого символа в строке |
strrev | Реверсирует строку (создает прочитанную с последнего символа строку) |
strset | Помещает символ во все позиции строки |
strspn | Возвращвет позицию в строке первого символа, который не принадлежит заданному набору символов |
strstr | Отыскивает место первого вхождения строки 2 в строку 1 |
strtok | Возвращает указатель на лексему, ограниченную заданным разделителем |
strupr | Преобразует все буквы строки в прописные буквы |
Дата добавления: 2017-01-29; просмотров: 504;