На этом шаге мы рассмотрим основные функции-члены класса string.
Чтобы присвоить одну строку другой, используется функция assign(). Два возможных формата ее реализации выглядят следующим образом.
string &assign(const string &strob, size_type start, size_type num); string &assign(const char *str, size_type num);
Первый формат позволяет присвоить вызывающему объекту num символов из строки, заданной параметром strob, начиная с индекса start. При использовании второго формата вызывающему объекту присваивается первые num символов строки с завершающим нулем, заданной параметром str. В каждом случае возвращается ссылка на вызывающий объект.
С помощью функции-члена append() можно часть одной строки присоединить в конец другой. Два возможных формата ее реализации имеют следующий вид.
string &append (const string &strob, size_type start, size_type num); string &append (const char *str, size_type num);
Здесь при использовании первого формата num символов из строки, заданной параметром strob, начиная с индекса start, будет присоединено в конец вызывающего объекта. Второй формат позволяет присоединить в конец вызывающего объекта первые num символов из строки с завершающим нулем, заданной параметром str. В каждом случае возвращается ссылка на вызывающий объект.
Вставку и замену символов в строке можно выполнять с помощью функций-членов insert() и replace(). Вот как выглядят прототипы их наиболее употребительных форматов.
string &insert (size_type start, const string &strob); string &insert (size_type start, const string &strob, size_type insStart, size_type num); string &replace (size_type start, size_type num, const string &strob); string &replace (size_type start, size_type orgNum, const string &strob, size_type replaceStart, size_type replaceNum);
Первый формат функции insert() позволяет вставить строку, заданную параметром strob, в позицию вызывающей строки, заданную параметром start. Второй формат функции insert() предназначен для вставки num символов из строки, заданной параметром strob, начиная с индекса insStart, в позицию вызывающей строки, заданную параметром start.
Первый формат функции replace() служит для замены num символов в вызывающей строке, начиная с индекса start, строкой, заданной параметром strob. Второй формат позволяет заменить orgNum символов в вызывающей строке, начиная с индекса start, replaceNum символами строки, заданной параметром strob, начиная с индекса replaceStart. В каждом случае возвращается ссылка на вызывающий объект.
Удалить символы из строки можно с помощью функции erase(). Один из ее форматов выглядит так:
string &erase (size_type start = 0, size_type num = npos);
Эта функция удаляет num символов из вызывающей строки, начиная с индекса start. Функция возвращает ссылку на вызывающий объект.
На следующем шаге мы рассмотрим использование некоторых из перечисленных методов.