АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Функция strstr

Читайте также:
  1. Артерии. Морфо-функциональная характеристика. Классификация, развитие, строение, функция артерий. Взаимосвязь структуры артерий и гемодинамических условий. Возрастные изменения.
  2. Вопрос 11. Понятие о воображении, его функциях и видах.
  3. Вывод справки по функциям.
  4. Г) Пробуждение благодаря сновидению. Функция сновидения. Сновидения страха.
  5. Газотранспортная функция эритроцитов
  6. Генеративная функция яичников Овогенез
  7. Генеративная функция. Сперматогенез.
  8. Дж. Гибсон. Восприятие как функция стимуляции.
  9. Желудок, строение и функция слизистой оболочки.
  10. Защитная функция бухгалтерского учёта
  11. Инкреторная функция почек
  12. Информация и коммуникация - фаза, свойственная в определенной степени всем функциям, так как и коммуникация, и обмен информацией необходимы на всех фазах самоменеджмента.

Прототип функции 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. Программа выполняет следующие задачи:

· Запрашивает у вас ввод основной строки

· Запрашивает строку поиска

· Предлагает вам ввести символ поиска

· Выводит линейку цифр и основную строку

· Выводит номер символа в основной строке, с которого начинается строка поиска *

· Выводит номер символа в основной строке, совпавшего с символом по­иска.

 

Основы объектно-ориентированного программирования СИНТАКСИС ОСНОВНЫХ КОНСТРУКЦИЙ


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)