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

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

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

Объявление строки происходит стандартным способом: указывается тип 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;

Определение длины строки – метод length()

Для определения длины строки служит метод length().

string my_string;

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

getline(cin, my_string);

cout << "Длина введенной строки равна ";

cout << my_string.length() << endl;

Метод length() удобно использовать в цикле при обработке строк, например, следующая программа выводит строку наоборот:

string my_string;

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

getline(cin, my_string);

cout << "Строка наоборот:\n";

int l = my_string.length();

for (int i=str.length()-1; i>=0; i--) {

cout << my_string[i];

}

cout << endl;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: