|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Функция strstrПрототип функции strstr: char* strstr(const char *str, const char *substr); Функция ищет в строке str первое вхождение подстроки substr. Функция возвращает указатель на первый символ найденной в строке str подстроки substr. Если строка substr не обнаружена в строке str, функция возвращает 0. Пример char str[] = "Hello there! how are you"; char substr[] = "how"; char *ptr; ptr = strstr (str, substr); cout «ptr «endl;
Это приведет к выводу строки "how are you", поскольку в строке str, была обнаружена подстрока "how". Указатель ptr содержит адрес остатка первоначальной строки, начинающегося с подстроки "how". Функция strtok Библиотека функций для работы со строками имеет функцию strtok, которая дает вам возможность разбить строку на подстроки на основании заданного набора символов-ограничителей. Подстроки иногда называются лексемами. Прототип функции strtok: char* strtok(char *target, const char * delimiters); Функция разбивает строку на лексемы, согласно символам-ограничителям, заданным в параметре delimeters. В следующем примере показано, как работать с этой функцией и как получать лексемы, на которые была разбита строка. Функция strtok вводит символ '\0' после каждой лексемы. (Опять же не забудьте сохранить копию вашей строки в другой строковой переменной.) Пример #include <stdio.h> // см. файл Ex02.cpp #include <string.h> int main() { char *str = "(Base_Cost + Profit) * Margin"; char *tkn = "+*()"; char *ptr = str; printf("%s\n", str); // Первый вызов функции ptr = strtok(str, tkn); printf("Лексемы этой строки: %s", ptr); while (ptr) { // Первый аргумент должен быть равен нулю if ((ptr = strtok(0, tkn))!= 0) printf (",%s", ptr); } printf("\n"); return 0; }
В результате выполнения этой программы на экран выводятся следующие строки: (Base_Cost + Profit) * Margin Лексемы этой строки: Base_Cost, Profit, Margin
Рассмотрим пример программы поиска символов и строк. Листинг 7 (List7_7.cpp) содержит исходный текст программы STRING4.CPP. Программа выполняет следующие задачи: · Запрашивает у вас ввод основной строки · Запрашивает строку поиска · Предлагает вам ввести символ поиска · Выводит линейку цифр и основную строку · Выводит номер символа в основной строке, с которого начинается строка поиска * · Выводит номер символа в основной строке, совпавшего с символом поиска.
Основы объектно-ориентированного программирования СИНТАКСИС ОСНОВНЫХ КОНСТРУКЦИЙ Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |