Ume*_*mer 5 c++
为什么我们需要cin.ignore()在字符串中输入之前使用?
cin.ignore()
反手过程是怎样的?getline如果我们不使用 ,为什么它会跳过字符串中的输入(如果我们调用函数来获取更多变量) cin.ignore()?
getline
0x4*_*2D2 2
std::getline()仅当流中存在位于您要读取的输入之前的前导换行符时,才会“跳过”输入。如果您之前执行了格式化提取并留下了残留的换行符,则可能会发生这种情况。默认情况下,std::getline()在获取换行符时分隔提取。
std::getline()
ignore()是一个丢弃一定数量字符的函数(默认情况下丢弃的数量为 1)。如果您在未格式化的提取(如 )之前使用此命令,std::getline()但在格式化提取(如std::istream::operator>>())之后使用它,它将允许按照您的预期读取数据,因为它将丢弃残留的换行符。
ignore()
std::istream::operator>>()
我在这里的回答中详细讨论了这一点。
归档时间:
12 年 前
查看次数:
19649 次
最近记录: