fflush()函数与rewind()函数都可以使得scanf()函数屏蔽之前输入的回车符。这两个函数的参数都可以是stdin变量。
1 stdin
与stdin一起使用的还有stdout和stderr,这三个变量都是FILE结构的指针,在stdio.h头文件中定义。
stdin是标准的输入流;stdout是标准的输入流;stderr是标准的错误流。默认情况下,stdin从键盘中读取数据,而stdout和stderr将信息在显示器中显示。这三个变量是常量指针,不能对其进行赋值。
2 fflush()函数
该函数的作用是清空在“1 stdin”中提到的三种流。
2.1 强制显示输出缓冲区
fflush(stdout);
以上代码的功能是将与输出流关联的缓冲区的内容在屏幕上显示。在每个最后不带“\n”的printf()函数后面,最好加上以上代码。因为不带“\n”的printf()函数有可能不会及时的在屏幕上显示。
printf(“Hello World”);
fflush(stdout);
2.2 清空输入缓冲区
fflush(stdin);
以上代码的功能是清空输入缓冲区中的内容。该代码用在scanf()函数之前,用于屏蔽输入缓冲区中的回车符号。
scanf(“%d”, &i);
fflush(stdin);
scanf(“%d”, &j);
3 rewind()函数
也可以是用rewind()函数来清理输入缓冲区中的数据,达到屏蔽回车符号的作用。该函数的使用方法请参考《C++中getchar()的使用方法》
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。