Строки в С++. Способы создания строк, операции со строками, ввод – вывод строк

Страницы работы

12 страниц (Word-файл)

Содержание работы

Программирование Тема 7.1 Строки в С++

1

Строки string в С++

  • Пример 1: Способы создания строк, операции со строками, ввод – вывод строк

2

Строки string в C++

  • Кроме работы со строками, как с массивом символов, в C++ существует специальный класс string.
  • Для работы с ним необходимо в начале программы подключить заголовочный файл string и пространство имен std:
    • #include <string>
    • using namespace std;
  • Конструкторы класса string позволяют создавать пустую строку, инициализировать строку си-строкой или ранее созданным объектом типа string (пример 1).
  • Ввод и вывод строк типа string осуществляется с помощью потоковых операций >> и <<. Но операция ввода ( >> ) позволяет вводить строку только до первого пробела, поэтому для ввода строк типа string удобно использовать функцию getline() (пример 1).
  • Для строк типа string определены следующие операции:
    • присваивания ( = , +=);
    • сравнения ( == , != , < , >);
    • обращение по индексу ( [ ] ).
  • Операция простого присваивания ( = ) позволяет в одну строку записать содержимое другой строки.
  • Операция составного присваивания ( += ) позволяет в конец одной строки добавить содержимое другой строки.
  • Операции сравнения ( == , != , < , >) выполняют сравнение строк в лексикографическом порядке (по алфавиту). Результатом выполнения операций сравнения являются значение 0, если строки равны; значение < 0, если строка лексикографически меньше со сравниваемой строкой; значение >0, если строка лексикографически больше со сравниваемой строкой (пример 1).
    • Операция обращения по индексу ( [ ] ) выполняет доступ с символу строки как для его чтения так и для его изменения (пример 1).

3

Строки string в С++

  • Пример 2: Изменение строк

4

Строки string в С++

  • Пример 3: Поиск в строке

5

Строки string в С++

  • Пример 3: Поиск в строке

6

Строки string в С++

  • Пример 4: Сравнение строк методом compare()

7

Строки string в C++

  • Изменение строк типа string выполняется с помощью методов:
    • методы append - добавляют подстроку в конец строки;
    • методы erase - удаляют фрагмент из строки;
    • методы insert - вставляют подстроку в указанное место строки;
    • методы replace - заменяют одну подстроку на другую.
  • В примере 2 показано использование методов изменения строк типа string.
  • Пример 3 демонстрирует использование методов поиска в строке.
  • Методы find выполняют поиск в исходной строке указанного элемента (символа, си-строки, с++-строки). Методы возвращают позицию найденного элемента или npos.
  • string::npos - это специальное значение, равное максимальному значению, которое может предоставить тип size_type. Точный смысл данного значения зависит от контекста, но, как правило, оно используется либо как индикатор конца строки в функциях, которые ожидают позицию символа, либо как индикатор ошибки в функциях, которые возвращают позицию в строке.
  • Также есть аналогичные find методы rfind, делающие поиск справа налево.
  • Методы find _first_not_of и методы find _last_not_of выполняют поиск символа не входящего в указанную строку. Методы возвращают позицию найденного символа или npos.
  • Методы find _first_of и методы find _last_of выполняют поиск символа входящего в указанную строку. Методы возвращают позицию найденного символа или npos.
  • Для сравнения строк можно использовать мето д compare (пример 4). Метод compare так же как и операции сравнения сравнивает строки в лексикографическом порядке.
  • Результатом выполнения метода compare являются значение 0, если строки равны; значение < 0, если строка лексикографически меньше со сравниваемой строкой; значение >0, если строка лексикографически больше со сравниваемой строкой.

8

Строки string в С++

  • Пример 5: Использование методов length(), capacity() и empty()

9

Строки string в С++

  • Пример 6: Массив строк. Использование метода at()

10

Строки string в С++

  • Пример 7: Преобразование строки string в си-строку и обратно

11

  • Контрольные вопросы
  • Строки string в С++: понятие, способы создания, допустимые операции, основные методы класса string. Примеры.
  • Строки QString в Qt С++: понятие, способы создания, допустимые операции, основные методы класса QString. Примеры.
  • Дополнительную информацию строках string C++ см. в статье по ссылке
  • http://scrutator.me/post/2014/09/02/cpp_strings_basics.aspx

12

Похожие материалы

Информация о работе