rewind(stdin)
来源:互联网 发布:荣威rx5 led大灯淘宝 编辑:程序博客网 时间:2024/05/29 19:55
rewind(stdin)清除标准输入的按键缓冲区。
fflush()清除I/O流级别的缓冲区。
先看看Microsoft给出的例子:
#include <stdio.h>void main(void){int ch ;puts( "Input two or more chars. One is read now." );ch = getchar();putchar( ch );putchar( '\n' );puts( "The next char is taken from stdin." );ch = getchar( );putchar( ch );putchar( '\n' );rewind( stdin );puts( "Input two or more chars. One is read now." );ch = getchar();putchar( ch );putchar( '\n' );rewind( stdin );puts( "You must enter another char because of the rewind(stdin)" );ch = getchar( );putchar( ch );putchar( '\n' );}
再看:
int main(){char name[6] = {'\0'};char password[6] = {'\0'};int count = 0;while(1){count++;memset(name, 0, sizeof(name));memset(password, 0, sizeof(password));scanf("%5[^\n]", name);if(strcmp(name, "exit") == 0)break;//rewind(stdin);fflush(stdin);//getchar(); scanf("%5[^\n]", password);// rewind(stdin);fflush(stdin);//getchar();printf("name=[%s],password=[%s]\n",name,password);if(count>5)break;}return 0;}
若将fflush(stdin)改成rewind(stdin)测试效果相同。
0 0
- rewind(stdin)
- rewind(stdin);与fpurge(stdin);的区别
- 关于scanf的缓冲区的问题(rewind(stdin);)
- 理解:fflush(stdin)和fflush(stdout)和rewind(stdin)的区别和作用
- rewind
- rewind
- rewind
- STDIN
- stdin
- stdin
- rewind函数
- rewind () 函数
- rewind函数
- rewind函数
- rewind函数
- fscanf rewind
- rewind函数
- windows mobile 不支持rewind?
- Android反编译学习
- ue----配置说明/
- OCP-1Z0-053-200题-78题-655
- 函数的指针如何说明、赋值、调用
- jquery绑定事件不生效
- rewind(stdin)
- session 的生命周期
- 使用Ext.define自定义类
- 什么是 MIME TYPE?
- Xcode中的图标
- java.lang.UnsupportedOperationException
- Lock 那点事儿
- objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
- 静态类和单例模式区别