Обработка пользовательского ввода в С++ с помощью getline

Обработка пользовательского ввода в С++ с помощью getline

Обработка пользовательского ввода в С++ с помощью 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 и строковую переменную.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий