📅  最后修改于: 2023-12-03 15:27:02.622000             🧑  作者: Mango
清除C/C++中的输入缓冲区
当在C/C++程序中使用 scanf 或 cin 等函数时,输入缓冲区中可能会残留一些数据,这些数据可能会影响后续的输入操作。为了解决这个问题,我们需要清除输入缓冲区中的数据。
以下是几种清除输入缓冲区中数据的方法:
方法一:使用 fflush 函数清除输入缓冲区
fflush 函数可以清除输入缓冲区,代码示例:
fflush(stdin); // 清除输入缓冲区
方法二:使用 getchar 函数清除输入缓冲区
getchar 函数可以读取并清除输入缓冲区中的一个字符,代码示例:
while (getchar() != '\n'); // 清除输入缓冲区
方法三:使用 cin.ignore 函数清除输入缓冲区
cin.ignore 函数可以清除输入缓冲区中的指定个数的字符(默认清除一个字符),代码示例:
cin.ignore(); // 清除输入缓冲区中的一个字符
cin.ignore(n); // 清除输入缓冲区中的 n 个字符
以上这些方法在不同的场合下都能够清除输入缓冲区,选择哪一种方法取决于具体的需求。