📜  读取整数后读取字符串

📅  最后修改于: 2021-05-31 21:07:49             🧑  作者: Mango

在本文中,我们将讨论如何在读取整数后读取字符串。

程序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等的更多准备工作,请参阅“完整面试准备课程”