Обработка пользовательского ввода в С++ с помощью getline
В сегодняшней статье мы поговорим о функции getline() в C++. Это встроенная функция, которая позволяет выводить в консоль все, вводимые с клавиатуры, символы. При работе с пользовательским вводом в C++ cin объект позволяет нам получать входную информацию от пользователя. Но когда мы пытаемся обработать информацию, введенной пользователем с несколькими значениями, возвращается только первая часть строки. Это происходит потому, что компилятор C++ предполагает, что любой пробел завершает программу при получении ввода. То есть строка «Меня зовут Mихаил» будет возвращать только слово «Меня» при выводе информации.
Вот пример:
#include <iostream>;
using namespace std;
int main() {
string str;
// Ввод информации через консоль
cout << "Расскажите о себе: ";
/* Строка введенная пользователем:
"Меня зовут Mихаил"
*/
cin >> str;
/* Вывод строки в консоль
*/
cout << "Вывод: " << str;
// Вывод: Меня
}
В приведенном выше коде пользователю предлагается ввести строку. В моем случае это - «Меня зовут Mихаил». Но при запуске программы вывелось только первое слово «Меня».
Далее мы увидим, как использовать функцию getline() для получения остальных символов строки.
#include <iostream>
using namespace std;
int main() {
string str;
cout << "Расскажите о себе: ";
getline(cin, str);
cout << "Вывод: " << str;
}
В приведенном выше примере мы передали в функцию getline() два параметра: getline(cin, str);. Первый параметр — это объект для обработки клавиатурного ввода - cin, а второй — str строковая переменная. Когда мы запустим код, нам будет предложено ввести текст. После того, как вы это сделаете, нажмите Enter и увидите вывод, который содержит весь текст из вашего ввода, а не только первый символ. В моем случае я набрал строку из нескольких символов и вышел из консоли. Продолжайте и попробуйте, чтобы увидеть, как это работает. Таким образом, благодаря функции getline() этому вы можете эффективно работать с пользовательским вводом в своих программах.
Заключение В этой статье мы говорили о getline() функции, которая позволяет нам получить несколько символов из ввода пользователя. Мы впервые увидели, что происходит, когда мы получаем от пользователя строку из нескольких символов — возвращается только первый символ. Затем мы увидели, как получить все символы из строки с помощью getline() функции, которая принимает два параметра — объект cin и строковую переменную.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.