今天遇见一个cin和getline一起用的题,但getline无法读取第一行数据,这是因为在用cin输入后,会在输入流中留下一个换行符'\n',而getline会读取到这个换行符,从而导致跳过输入。解决方法是用cin.ignore()清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。
cin
getline
'\n'
cin.ignore()