键盘输入缓冲区测试,了解
2010-03-28 23:15
162 查看
1, 在两次键盘输入时要及时对键盘缓冲区进行清空处理,以避免对以后的输入产生不良影响
测试代码:
2 ,键盘缓冲区作用域,整个源文件,并不是一个函数用完后,系统就会自动清空,如果下面要用到的话,记得自己清空,否则后果也是不可预计,即使你觉得没有必要也要清空
测试代码:
测试代码:
// JianpanBuf.cpp : Defines the entry point for the console application. //测试了解键盘缓冲区 #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "string.h" int main(int argc, char* argv[]) { int a[20]; char str[100]; int i=0,ch; /* **输入数据并存储到a[i],输入数据为正数,如输入 2 3 -1,保存2,3到数组 */ while(i<20 && scanf("%d",&a[i]) && a[i]>0) i++; printf("/n"); /* **清除键盘缓冲区,不影响下次的键盘输入,不写会产生严重的后果 */ while((ch=getchar())!=EOF && ch!='/n')//相当于ch吃掉上次键盘缓冲区里的不用的字符,防止他们被解释为下一次的输入数据 ; /* **输入字符串并输出 */ if(gets(str)!=NULL) puts(str); else exit(1); return 0; }
2 ,键盘缓冲区作用域,整个源文件,并不是一个函数用完后,系统就会自动清空,如果下面要用到的话,记得自己清空,否则后果也是不可预计,即使你觉得没有必要也要清空
测试代码:
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "string.h" void f1(); void f2(); int main(int argc, char* argv[]) { f1(); f2(); return 0; } void f1() { int i=0,a[20],ch; while(i<20 && scanf("%d",&a[i]) && a[i]>0) ; /* **清除键盘缓冲区 */ while((ch=getchar())!=EOF && ch!='/n') ; } void f2() { char str[20]; gets(str); puts(str); }
相关文章推荐
- 汇编语言: 试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不 是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空 格符不存入),直到接收
- 编写程序,测试由键盘输入的整数n是否含有数字5,若含有5,则输出“yes”,否侧输出“no”
- 键盘输入缓冲区与scanf()原理
- 3. 定义10个字节的键盘缓冲区,然后键盘输入字符填满该缓冲区,做如下工作: (1)分别将输入键盘缓冲区的字符按数字,小写字母,大写字母,其他字符进行计数; 分别将这些计数值显示出来。 (2)分别将这
- java基础__获取键盘输入值(了解即可)
- C语言编程在Xcode中Scanf 输入跳过以及清空键盘缓冲区总结
- C语言scanf函数输入时键盘缓冲区\n的问题[经典问题]
- Scanf()—键盘缓冲区残余信息和误输入造成程序死锁或出错问题
- scanf输入跳过及清空键盘缓冲区总结
- 使用UI Automation实现自动化测试--7.1 (模拟键盘输入数据在自动化测试中的应用)
- 关于键盘输入、缓冲输入、读入字符、解析C语言编程对缓冲区的理解
- 使用UI Automation实现自动化测试--7.1 (模拟键盘输入数据在自动化测试中的应用)
- 如何从键盘输入数字字符|只有在输入完数据再按回车键后,该行数据才被送入内存上的键盘缓冲区里,形成输入流
- 关于C语言使用输入函数后键盘缓冲区还有多余字符没的问题
- C语言scanf函数输入时键盘缓冲区\n的问题[经典问题]
- 汇编语言-----字符串的输入利用int 16h读取键盘缓冲区
- 键盘输入循环缓冲区问题
- 测试键盘输入的各种格式(数字、字符串和字符)
- Linux C编程 使用scanf时清除键盘缓冲区 -- 清除输入缓存
- Linux C编程 使用scanf时清除键盘缓冲区 -- 清除输入缓存