在本文中,我们将讨论如何在读取整数后读取字符串。
程序1:
下面是在输入整数后立即输入带空格的字符串的程序:
C++
// C++ program that inputs a string
// with spaces just after taken an
// input of an integer
#include
#include
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 << "\n";
return 0;
}
C++
// C++ program to illustrate the use
// of the function ignore()
#include
#include
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 << "\n";
return 0;
}
输出:
解释:
- 在上面的代码中,字符串变量S无法存储我们的输入。
- 这样做的原因是,在进入整数t时,与按下回车,换行字符(\ n)的未存储在整数变量T。
- 取而代之的是,这个字符存储在即将到来的字符串变量S。
- 因此,当显示字符串S时,它给出的输出为空格。即使字符串前面的数据类型不是int,也是如此。除int外,它可以是任何数据类型。
- 一旦进入被按下时,字符将得到存入其中输入字符串。
方案2:在C++中,忽略()函数占抵消其通过按压“回车”而生成的额外的字符。下面是说明使用函数ignore()的C++程序:
C++
// C++ program to illustrate the use
// of the function ignore()
#include
#include
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 << "\n";
return 0;
}
输出:
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。