Прочитать строку после чтения целого числа
Опубликовано: 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; } |
Выход: