Прочитать строку после чтения целого числа

Опубликовано: 14 Сентября, 2022

В этой статье мы обсудим, как читать строку после чтения целого числа.

Программа 1:

Ниже приведена программа, которая вводит строку с пробелами сразу после ввода целого числа :

C++




// C++ program that inputs a string
// with spaces just after taken an
// input of an integer
  
#include <iostream>
#include <string>
using namespace std;
  
// Driver Code
int main()
{
    int t = 0;
    cin >> t;
  
    string s;
  
    // Taking input with spaces
    getline(cin, s);
  
    cout << "You entered : "
         << s << " ";
  
    return 0;
}

Выход:

Объяснение:

  • В приведенном выше коде строковая переменная S не может сохранить наш ввод.
  • Причина этого в том, что при вводе целого числа T и нажатии клавиши ввода символ новой строки ( ) не сохранялся в целочисленной переменной T.
  • Вместо этого этот символ новой строки был сохранен в следующей строковой переменной S.
  • Следовательно, при отображении строки S она выводит в виде пробелов. Это верно, даже если тип данных, предшествующий строке, не является int . Это может быть любой тип данных, кроме int.
  • Как только нажата клавиша ввода, символ новой строки будет сохранен в строке, которая вводится.

Программа 2: В C++ функция ignore() отвечает за аннулирование дополнительного символа новой строки, который генерируется нажатием «enter». Ниже приведена программа C++, иллюстрирующая использование функции ignore() :

C++




// C++ program to illustrate the use
// of the function ignore()
  
#include <iostream>
#include <string>
using namespace std;
  
// Driver Code
int main()
{
    int t = 0;
    cin >> t;
  
    // Adding the ignore()
    cin.ignore();
  
    string s;
    getline(cin, s);
  
    cout << "You entered : "
         << s << " ";
  
    return 0;
}

Выход:

C++