568_______________________________Часть IV. Новые возможности C++
будет содержаться в экземпляре строки ANSI C++, вы сможете использовать все функции-члены строкового класса, обсуждаемые в следующем разделе.
Обзор функций-членов строкового класса
После изучения способов вызова различных конструкторов строкового класса перейдем к основным свойствам класса — его функциям. Рассматриваемые далее функции разделены по следующим категориям: функции модификации строк, функции сравнения строк, функции поиска, функции ввода-вывода и всевозможные дополнительные функции. Все приводимые далее листинги можно найти в файле Members.cpp. Если вы не хотите создавать новый проект или набирать представленные здесь тексты, то просто замените файл Welcome.срр из проекта Welcome, файлом Members.cpp.
По мере изучения различных функций попытайтесь заранее предугадывать результат вызова каждой из них. Большинство функций строкового класса довольно очевидны. Учтите, что мы не можем здесь рассмотреть все возможные сочетания передаваемых функциям аргументов. Попытайтесь извлечь как можно больше из примеров и не бойтесь экспериментировать!
Модификация строк
Как и во многих языках программирования, в строковом классе ANSI существует множество вариантов модификации строк и связанных с ними операций и функций. Операции присваивания дают возможность программисту на C++ назначить экземпляру строки новое значение без обращения к процедуре С strcpy, таким образом присваивание строковых значений становится таким же безболезненным, как и присваивание целых значений! Функции конкатенации (или объединения) позволяют легко добавлять строки в начало или конец уже существующих строк. Строковый класс содержит как средства для вставки подстрок в уже существующие строки, так и для удаления частей строк. Вдобавок к этому функция replace дает возможность программисту изменять подстроки существующих строк. И наконец, так как в основе строкового класса все еще лежат символьные массивы С, то вам как программисту доступны отдельные символы строк, включая завершающий нулевой. Давайте начнем с операций присваивания.
Операции Присваивания. Самый очевидный способ изменить строку — это присвоить ей значение. Для этого вам необходимы средства присваивания; это, конечно, оператор функция operator^:
string firstAlterString = "Эта строка будет изменена."
Более подробная форма операции присваивания — это функция Assign: