Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операции поиска




СРАВНЕНИЕ СТРОК

Например.

string s("МАМА МЫЛА "), str("МАМА МЫЛА РАМУ");

s.append(str, 10,4); // добавляет к строке s 4 символа строки str, начиная с позиции 11.

cout << s<< " \n";

s.assign (str, 5,9); // присваивает строке s 9-символов строки str, начиная с позиции 6.

cout << s<< " \n";

 

 

Функции-члены assign() и append() возможно использовать без параметров pos и n

s.append(str) - добавляет в конец строки строку str. Аналогично записи s+=str;

 

3. Поменять местами содержимое двух строк типа string позволяет функция swap() :

s.swap(str) меняет содержимое s и str местами.

Сравнить содержимое двух строк позволяет функция compare() :

s.compare(str) - сравнивает строку s со строкой str и возвращает 0 в случае совпадения, 1 - если больше, -1 – если меньше. Возможно задавать начальную позицию pos и число символов для сравнения n (s.compare(pos, n, str)).

 

Функция-член find() определяет первое появление строки, массива символов или символа, переданной ей в качестве первого аргумента, в текущей строке.

 

s.find(str, pos) - ищет строку str в строке s, начиная с заданной позиции pos (необязательный параметр). Если первое вхождение строки найдено, функция возвращает позицию первого символа в текущей строке, с которой начинается совпадение.

Функция-член rfind() аналогична, но выполняет сканирование исходной строки справа налево

string s1("mississippi");

cout <<s1.find("ss") << " \n";

cout <<s1.find("ss",4) << " \n";

cout <<s1.rfind("si") << " \n";

 

Функции find_first_of(), find_last_of(), find_first_not_of(), find_ last_not_of() выполняют аналогичные операции поиска. Первый их аргумент задает строку, как массив символов или символ для поиска. Другие (необязательные) параметры задают позицию и число символов исходной строки, участвующие в операции. Эти функции находят первый или последний символ, который присутствует или, наоборот, отсутствует в строке.

string s1("mississippi");

int i=s1.find_first_of("aeiou");//найти первую гласную

cout << i<< " \n";

int j=s1.find_first_not_of("aeiou",4);//найти первую coгласную, начиная с пятого //символа

cout << j<< " \n";

 

 

 




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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