>` 运算符? " />
getline 不提示输入
此代码片段中,使用 >> 运算符后使用 getline 时会出现问题。当 >> ; 用于读取输入,用户的输入后跟一个保留在输入缓冲区中的换行符,当紧随其后调用 getline 时,此行为会出现问题。期望读取一行输入,但找到换行符并终止而不提示用户。
解决方案:
要解决此问题,有两种可行的解决方案:
使用忽略来消耗换行符:
在使用 getline 之前调用忽略以消耗输入缓冲区中的换行符。
cin.ignore(); getline(cin, mystr);
仅使用 getline:
不要混合使用 >> 和 getline,而是专门使用 getline 来读取所有输入,并且可以简化代码。消除了与换行符相关的潜在问题。
getline(cin, name); getline(cin, i); getline(cin, mystr);
以上是为什么使用'>>”运算符后'getline”不提示输入?的详细内容。更多信息请关注PHP中文网其他相关文章!