如何为我的getline()修复此cin.ignore()?

时间:2013-09-27 01:29:08

标签: c++ string getline

所以我为c ++编写了一个简单的程序,我遇到了这个问题。该程序基本上要求用户输入,并且它将在输入后跳过任何空格。我试图在用户输入后使用cin.ignore(),但它不起作用。我该如何解决?

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string s;
    cout << "Your name: ";      
    getline(cin, s);
    cin.ignore();

    cout << "You entered: " << s << endl;
    return 0;
}

1 个答案:

答案 0 :(得分:1)

为什么要使用std::cin.ignore()?假设您要跳过潜在的前导空格,可能需要使用std::ws

std::getline(std::cin >> std::ws, s);