Шаг 400.
Библиотека STL.
Строение строковых классов. Модифицирующие операции. Замена символов

    На этом шаге мы перечислим методы, используемые для замены символов.

    Для выполнения указанных операций можно использовать следующие методы:

  string& string::replace (size_type idx, size_type len, const string& str) 
  string& string::replace (iterator beg, iterator end, const string& str)
Первая форма заменяет не более len символов *this, начиная с индекса idx, всеми символами строки str.

    Вторая форма заменяет все символы в интервале [beg,end) всеми символами str.

    Обе формы возвращают *this.

    Если выполняется условие idx>size(), обе формы генерируют исключение out_of_range.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

  string& string::replace (size_type idx, size_type len, const string& str, 
                                     size_type str_idx, size_type str_num)
Заменяет не более len символов *this, начиная с индекса idx, не более чем str_num символами строки str, начиная с индекса str_idx.

    Возвращает *this.

    Если выполняется условие idx>size(), обе формы генерируют исключение out_of_range.

    Если выполняется условие str_idx>str.size(), обе формы генерируют исключение out_of_range.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

  string& string::replace (size_type idx, size_type len, const char* cstr) 
  string& string::replace (iterator beg, iterator end, const char* cstr)
Обе формы заменяют не более len символов *this, начиная с индекса idx, или все символы интервала [beg,end) соответственно всеми символами С-строки cstr.

    Обе формы возвращают *this.

    Аргумент cstr не должен содержать NULL-указатель.

    Если выполняется условие idx>size(), обе формы генерируют исключение out_of_range.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

  string& string::replace (size_type idx, size_type len, 
                                    const char* chars, size_type chars_len) 
  string& string::replace (iterator beg, iterator end, 
                                    const char* chars, size_type chars_len)
Обе формы заменяют не более len символов *this, начиная с индекса idx, или все символы интервала [beg,end) соответственно chars_len символами массива chars.

    Обе формы возвращают *this.

    Символьный массив chars должен содержать не менее chars_len символов, которые могут иметь произвольные значения (символ \0 не имеет особой интерпретации).

    Если выполняется условие idx>size(), обе формы генерируют исключение out_of_range.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

  string& string::replace (size_type idx, size_type len, size_type num, char c) 
  string& string::replace (iterator beg, iterator end, size_type num, char c)
Обе формы заменяют не более len символов *this, начиная с индекса idx, или все символы интервала [beg,end) соответственно num экземплярами символа с.

    Обе формы возвращают *this.

    Если выполняется условие idx>size(), обе формы генерируют исключение out_of_range.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

  string& string::replace (iterator beg, iterator end,
                            Inputlterator newBeg, Inputlterator newEnd)
Заменяет все символы интервала [beg,end) всеми символами интервала [newBeg, newEnd).

    Возвращает *this.

    Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length_error.

    Со следующего шага мы начнем рассматривать поиск.




Предыдущий шаг Содержание Следующий шаг