В сегодняшней статье мы поговорим о функции getline() в C++ . Это встроенная функция, которая позволяет выводить в консоль все, вводимые с клавиатуры, символы. При работе с пользовательским вводом в C++ cin объект позволяет нам получать входную информацию от пользователя. Но когда мы пытаемся обработать информацию,...

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