在C ++中使用getline()

我在使用getline方法获取用户输入的消息时遇到问题,我在使用类似以下内容的方法:


string messageVar;

cout << "Type your message: ";

getline(cin, messageVar);

但是,它并没有停止获取输出值,这怎么了?


慕的地10843
浏览 1038回答 3
3回答

白板的微信

如果输入中只有一个换行符,则只需执行std::cin.ignore();会很好的工作。它从输入中读取并丢弃下一个字符。但是,如果输入中除了换行符之外还有其他内容(例如,您读了一个单词,但用户输入了两个单词),则必须std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');参见例如该ignore功能的参考。为了更加安全,请循环执行上述第二种选择,直到gcount返回零。
打开App,查看更多内容
随时随地看视频慕课网APP