c++ getline(cin, str)给我额外的行

C++ getline(cin, str) giving me extra line

本文关键字:getline cin str c++      更新时间:2023-10-16

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

#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
.

为什么句号走到下一行?谁能告诉我发生了什么并教我如何修复它

在gcc 4.6.3

getline (cin, mystr);

getline (cin, mystr, 'n');

都按照您的期望打印字符串。