问题描述
- 关于两次使用getline()只能输入一次的问题
-
用了两次getline()函数 调试的时候发现第一次根本没有接受输入直接返回ming字串为“”
而第二次可以输入一行字串以回车结束 是为什么呢??while (cin >> choice){ if (choice == 1){ cout << "输入明文:n"; string ming; getline(cin, ming); cin.sync(); cout << "输入密文:n"; string mi; cin.sync(); getline(cin, mi); string str = miyao(ming, mi); cout << "求出的密钥为:n"; printstr(str); } …… }
解决方案
cin >> choice之后还有一个回车在缓冲区中。
解决方案二:
楼上说的很对,可以试试cin.ignore()语句清空缓冲区
时间: 2024-10-31 15:23:58