Работа со строками символов
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; просмотров: 573;
