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

Преобразование строк

insert(size_t pos1, const string & str); // вставляет с pos1 (первые pos1 символов сохраняются, остальные сдвигаюися (out_of_range if pos, length_error));

try

{ size_t n=4;

s2.insert(n, s1);

}

catch(out_of_range &range)

{cerr << "error for insert: \n" << range.what() <<endl;

}

insert(size_t pos1, const string & str , size_t pos2, size_t n); // вставляет с pos1 (первые pos1 символов сохраняются) символы str c pos2 n символов, остальные сдвигаюися (out_of_range if pos, length_error));

insert(size_t pos1, const char *str , size_t n); // вставляет с pos1 (первые pos1 символов сохраняются) n символов строки старого типа;

erase(size_t pos=0, size_t n=npos); // удаление n элементов

void clear();

replace(size_t pos1, size_t n1, const string & str); // вставляет с pos1 (первые pos1 символов сохраняются), удаляется n1 символов, остальные после (out_of_range if pos, length_error));

replace(size_t pos1, size_t n1, const string & str, size_t pos2, size_t n2); // вставляет с pos1 (первые pos1 символов сохраняются), удаляется n1 символов, вставляет с pos1 символы str c pos2 n2 символов, остальные после (out_of_range if pos, length_error));

replace(size_t pos1, size_t n1, const char* str, s size_t n2); // вставляет с pos1 (первые pos1 символов сохраняются), удаляется n1 символов, вставляет с pos1 n2 символов строки старого типа;

swap (string &str); //обмен содержимого 2-х строк

string substring(size_t pos=0, size_t n=npos) const;// выделение подстроки (out_of_range)

const char * c_str() const; // преобразование в старый тип (строку нельзя менять!!)

const char * data() const; // преобразование в старый тип (строку нельзя менять!!)

size_t copy(char *str, size_t n, size_t pos=0); //не копирует нуль-символ, возвращает количество скопированных элементов

Преобразование подстрок

size_t find(const string &str, size_t pos=0) const; /ищет самое левое вхождение строки в вызывающую строку, начиная с позиции pos, возвращает позицию или npos;

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

size_t rfind(const string &str, size_t pos=npos) const; /ищет самое правое вхождение строки в вызывающую строку, до позиции pos, возвращает позицию или npos;

size_t rfind(char c,size_t pos= npos) const;

size_t find_first_of(const string &str, size_t pos=0) const; /ищет самое левое вхождение любого символа строки str в вызывающую строку, начиная с позиции pos;

size_t find_first_of(char c, size_t pos=0) const; /ищет самое левое вхождение символа с, начиная с позиции pos;

size_t find_last_of(const string &str, size_t pos= npos) const; /ищет самое правое вхождение любого символа строки в вызывающую строку, начиная с позиции pos;

size_t find_last_of(char c, size_t pos= npos) const; /ищет самое правое вхождение символа с, начиная с позиции pos;

size_t find_first_not_of(const string &str, size_t pos=0) const; /ищет самую левую позицию, начиная с позиции pos, где ни один символ строки str не совпадает с символом вызывающей строки;

size_t find_first_not_of(char c, size_t pos=0) const;

size_t find_last_ not_of(const string &str, size_t pos= npos) const;

size_t find_last_not_of(char c, size_t pos= npos) const;

Cуществуют варианты для строк старого стиля.

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

int compare(const string & str) const; // srtcmp;

int compare(size_t pos1, size_t n1, const string & str) const; // strcmp c pos1 n1 символов;

int compare(size_t pos1,size_t n1,const string &str,size_t pos2, size_t n2) const; // strcmp c pos1 n1 символов; // strcmp c pos1 n1 символов pos1 n2 символов из str с pos2;

Характеристки строк

size size() const; // количеcтво элементов строки

size length() const; // количеcтво элементов строки

size max_size() const; // максимальная длина строки

size capacity() const; // объем строки, занимаемой строки

bool empty() const; //

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]