ОПЕРАЦИИ ПОИСКА

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

Например.

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";