一、缓冲区概念
临时存储区称为缓冲区,所有标准输入和输出设备都包含输入和输出缓冲器。在标准C / C ++中,流是缓冲的,例如在标准输入的情况下,当我们按键盘上的键时,它不会发送到您的程序,而是由操作系统缓冲,直到时间被分配给程序。
二、它如何影响编程?
在各种情况下,您可能需要清除不需要的缓冲区,以便获得所需容器中的下一个输入,而不是在前一个变量的缓冲区中。如果不清除上一次输入会影响下一次输入。
解决方法:
三、
C:
scanf()语句之后使用
while ((getchar()) != '\n');
读缓冲区字符直到结束并丢弃它们(包括换行符)
C++:
cin语句之后输入
1.
cin.ignore(numeric_limits<streamsize>::max(),'\n');
放弃包含换行符的输入流中的所有内容。
2.
cin.sync();
将放弃缓冲区中的所有内容