C ++ getline(cin,str)给了我额外的一句话

时间:2013-04-11 16:35:23

标签: c++

我是c ++的新手。我在窗口7中使用Cygwin和eclipse,我正在尝试编写一个程序,只是要求用户输入一个字符串并将其打印出来。我有以下代码。

#include <iostream>
#include <string>
using namespace std;

int main() {
    string mystr;
    cout << "What's your name? ";
    getline (cin, mystr, '\n');
    cout << "Hello " << mystr << ".\n";
    return 0;
}

我也试试:

getline(cin, mystr);

他们都给了我一个像下面这样的输出。

输出:

What's your name? nick
Hello nick
.

为什么句号会到达下一行? 有人可以告诉我发生了什么,并告诉我如何解决它。

1 个答案:

答案 0 :(得分:0)

在gcc 4.6.3

getline (cin, mystr);

getline (cin, mystr, '\n');

两者都按照您的预期打印字符串。