在cin和getline混合使用的过程中,使用cin.ignore()清除输入流中的换行符。
std::cin>>number; std::getline(std::cin,input) std::cin在读取数字11时,没有读取11后面的换行符。这个换行符被之后的std::getline消耗了,从而导致std::getline读取了一个空行。 解决办法包括, 使用一个额外的getline来消耗这个换行符; 使用std::cin >> std::ws;来消耗这换行符; 使用cin.ignore(std::...
cin和getline混用的问题 与cin.ignore();voidtest(){intx;strung xx;cin>>x;getline(cin,xx);//bug将 跳过这}修改:voidtest(){intx;strung xx;cin>>x;cin.ignore();getline(cin,xx);//bug将 跳过这} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17....
cin>>和getline混用需谨慎 https://blog.csdn.net/u011421608/article/details/44591579 好文要顶 关注我 收藏该文 微信分享 zpzzzzzzzzzzzz 粉丝- 0 关注- 0 +加关注 0 0 升级成为会员 « 上一篇: 关于std::ios::sync_with_stdio(false) ...
cin>>和getline混用 https://blog.csdn.net/u011421608/article/details/44591579 好文要顶 关注我 收藏该文 微信分享 zpzzzzzzzzzzzz 粉丝- 0 关注- 0 +加关注 0 0 升级成为会员 « 上一篇: 关于std::ios::sync_with_stdio(false)