Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7 - Лекция7_Строки.docx
Скачиваний:
8
Добавлен:
16.11.2019
Размер:
64.57 Кб
Скачать

Тема 7. Строки

Строки в C++

Строки являются одним из самых важных и часто используемых типов данных практически в любом языке программирования, и представляют собой последовательности символов. В языке C++ для работы со строками предусмотрен тип string, для работы с которым требуется подключение специальной библиотеки:

#include <string>

В частности, если не подключить эту библиотеку, то не будет возможности вводить и выводить строки при помощи операторов cin и cout. Для того, чтобы освежить в памяти простейшие операции со строками, посмотрим на программу, которая принимает с клавиатуры имя человека и приветствует его по имени.

//Объявление переменной для имени

string name;

//Приглашение ввести имя

cout << "Введите Ваше имя: ";

//Ввод имени

cin >> name;

//Приветствие по имени

cout << "Привет, " << name << "!\n";

Объявление, инициализация и присвоение строк

Объявление строки происходит стандартным способом: указывается тип string и имя переменной.

string name;

string str1, str2, str3;

Обратите внимание, что, как и другие переменные, строки можно объявлять как по одной, так и сразу несколько, разделяя их запятыми.

При инициализации строки мы ее объявляем и сразу же присваиваем:

//Инициализация переменной name

string name = "Андрей";

cout << "Привет, " << name << "!\n";

Как и любую другую переменную строку можно ввести при помощи оператора cin:

string name;

cout << "Введите Ваше имя: ";

//Ввод имени

cin >> name;

cout << "Привет, " << name << "!\n";

Объявленную строку также можно присвоить стандартным способом при помощи оператора =

//Объявление строки name

string name;

//Присвоение строки name

name = "Андрей";

cout << "Привет, " << name << "!\n";

Выводить строки можно при помощи оператора cout. Подчеркнем еще раз, что для ввода и вывода строк операторами cin и cout требуется подключение библиотеки string.

Строки и символы: кавычки или апострофы?

Вы, наверное, уже заметили, что нами были использованы как апострофы 'H', так и кавычки "Моя строка". Причина такого различия заключается в том, что символ, заключенный в апострофы имеет тип char, а несколько символов (в частности, и один символ), заключенных в кавычки являются строкой. Получается, что 'H' – это просто символ, а "H" – уже строка. Набор символов, заключенных в кавычки, называется строковой константой, значение которой изменять нельзя. Строковую константу можно задать директивой #define:

#define GREETING "Hello, my dear friend!"

...

cout<< GREETING;

Ввод строк из нескольких слов

Оператор cin вводит строку до первого разделителя, которым являются переводы на новую строку, пробел, знаки табуляции и некоторые другие специальные символы. По этой причине, если введена строка из нескольких слов, то во вводимую переменную запишется только первое слово. Посмотрите на следующий пример:

string my_string;

cout << "введите строку:\n";

cin >> my_string;

cout << "Введена следующая строка:\n";

cout << my_string << endl;

Для ввода строки с пробелами следует воспользоваться функцией getline():

string my_string;

cout << "введите строку:\n";

getline(cin, my_string);

cout << "Введена следующая строка:\n";

cout << my_string << endl;

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