Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_8_метод_указания.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
623 Кб
Скачать
☆

Операции

Для объектов класса string допустимы операции

операция

действие

операция

действие

=

присваивание

>

лексикографическое сравнение на больше

+

конкатенация (сцепление)

>=

лексикографическое сравнение на больше или равно

==

лексикографическое сравнение на равенство

[ ]

индексация (обращение к элементу)

!=

лексикографическое сравнение на неравенство

<<

вывод

<

лексикографическое сравнение на меньше

>>

ввод

<=

лексикографическое сравнение на меньше или равно

+=

добавление, конкатенация с присвоением результата

Для строк класса string (в отличие от строк старого стиля) &s[0] не равно s.

Методы класса string

метод

назначение

получение характеристик строк

at (size_type n)

доступ к n-му элементу строки

size_type size() const;

возвращает размер строки

size_type length() const;

возвращает размер строки,то же самое, что и size()

size_type max_size() const;

возвращает максимальную длину строки

size_type capacity() const;

возвращает объем памяти, занимаемый строкой (емкость)

bool empty() const;

возвращает истину, если строка пустая

присваивание частей строк

assign (const string& str)

присваивает строку str вызывающей строке:

s2.assign(s1); //равносильно s2=s1;

assign (const string& str, size_type pos, size_type n);

присваивает вызывающей строке n символов строки str, начиная с позиции pos;

assign (const char*s, size_type n);

присваивает вызывающей строке n символов строки s старого стиля;

добавление части одной строки к другой

append (const string& str)

добавляет строку str к концу вызывающей строки, действие эквивалентно операции конкатенации +:

s2. append (s1); //равносильно s2+s1;

append (const string& str, size_type pos, size_type n);

добавляет к вызывающей строке n символов строки str, начиная с позиции pos;

append (const char*s, size_type n);

добавляет к вызывающей строке n символов строки s старого стиля;

вставка в одну строку части другой строки

insert (size_type pos1, const string& str);

вставляет строку str в вызывающую строку, начиная с позиции pos1

insert (size_type pos1, const string& str, size_type pos2, size_type n);

вставляет в вызывающую строку, начиная с позиции pos1 n символов строки str, начиная с позиции pos2

insert (size_type pos, const char*s, size_type n);

вставляет в вызывающую строку n символов строки s старого стиля;

замена части строки

replace (size_type pos1, size_type n1, const string& str);

заменяет n1 элементов, начиная с позиции pos1 вызывающей строки, элементами строки str

replace (size_type pos1, size_type n1, const string& str, size_type pos2, size_type n2);

заменяет n1 элементов, начиная с позиции pos1 вызывающей строки, n2 элементами строки str, начиная с позиции pos2

replace (size_type pos1, size_type n1, const char*s, size_type n2);

заменяет n1 элементов, начиная с позиции pos1 вызывающей строки, n2 элементами строки s старого стиля

удаление части строки

erase (size_type pos=0, size_type n = npos);

npos-самое большое число >0 типа size_type, статический член класса string

удаляет n элементов, начиная с позиции pos (если n не задано, то удаляется весь остаток строки)

выделение части строки

string substr (size_type pos=0, size_type n = npos) const;

возвращает подстроку длиной n, начиная с позиции pos

обмен содержимого двух строк

swap(string& str);

обменивает содержимое вызывающей строки и строки str

поиск подстрок

size_type find (const string& str, size_type pos=0) const;

ищет самое левое вхождение строки str в вызывающую строку, начиная с позиции pos; возвращает позицию вхождения, или npos , если вхождение не найдено

size_type find (char c, size_type pos=0) const;

ищет самое левое вхождение символа c, начиная с позиции pos; возвращает позицию вхождения или npos, если вхождение не найдено

size_type find_first_not_of (const string& str, size_type pos=0) const;

ищет самое левое вхождение в вызывающую строку, начиная с позиции pos, символа, отличного от указанных в строке str; возвращает позицию вхождения, или npos , если вхождение не найдено

size_type rfind (char c, size_type pos=0) const;

ищет самое правое вхождение символа c, начиная с позиции pos

size_type find_first_of (const string& str, size_type pos=0) const;

ищет самое левое вхождение любого символа cтроки str, начиная с позиции pos

size_type find_first_of (char c, size_type pos=0) const;

ищет самое левое вхождение символа c в вызывающую cтрокуr, начиная с позиции pos, и возвращает позицию символа или npos, если вхождение не найдено

size_type find_last_of (const string& str, size_type pos=0) const;

ищет самое правое вхождение любого символа cтроки str, начиная с позиции pos

size_type find_last_of (char c, size_type pos=npos) const;

ищет самое правое вхождение любого символа cтроки str, начиная с позиции pos, и возвращает позицию символа или npos, если вхождение не найдено

сравнение частей строк

int compare (const string& str)const

сравнение двух строк целиком, возвращает значение <0, если вызывающая строка лексикографически меньше str, =0, если строки равны и >0, если вызывающая строка больше

int compare (size_type pos1, size_type n1, const string& str) const

сравнение со строкой str n1 символов вызывающей строки, начиная с позиции pos

int compare (size_type pos1, size_type n1, const string& str, size_type pos2, size_type n2) const

n1 символов вызывающей строки, начиная с позиции pos1, сравниваются с подстрокой строки str длиной n2 символов, начиная с позиции pos2

преобразование объектов типа string в строки старого стиля

const char* c_str() const;

возвращает указатель на С-строку, содержащую копию вызываемой строки; полученную С-строку нельзя пытаться изменить

копирование в массив части вызывающей строки

size_type copy (char* s, size_type n, size_type pos=0) const;

копирует в символьный массив s n элементов вызывающей строки, начиная с позиции pos; нуль-символ в результирующий массив не заносится; метод возвращает количество скопированных элементов;

size_type – синоним типа unsigned int, определенного в пространстве имен std;

npos – константа, определенная в string, задающая максимально возможное число (-1), которое в зависимости от контекста означает либо «все элементы» строки, либо отрицательный результат поиска.