c/c++ 缓冲输入和非缓冲输入

来源:互联网 发布:法律法规数据库系统 编辑:程序博客网 时间:2024/05/16 19:12

C语言有缓冲输入和非缓冲输入两种情况,默认缓冲输入,因为有的计算机不支持非缓冲输入。缓冲输入下,通过标准输入(键盘)输入的字符会先存在输入缓冲区里,同时会回显到屏幕上。这样就可以在输入回车(将输入缓冲区清空,并发送到程序的输入队列中,供程序使用)之前,进行输入的修改。但是也支持非缓冲输入,不需要输入回车来将输入发送给程序,而是键盘的任何输入都直接发送到程序的输入队列中。

简言之,缓冲输入的流程是:键盘-》输入缓冲区-》程序中的输入队列    非缓冲输入的流程是: 键盘-》程序中的输入队列

getche()和getch()这两个函数是用于非缓冲输入的,前者提供回显(记:多一个字母,多一个小功能),后者不提供回显。

 

C函数一般都有返回值,只是有时候不需要获取这个返回值罢了。

printf返回打印的字符的数目,有输出错误则返回负数。

scanf返回读入项目的个数,如果读入失败(比如想读入一个%d,但是用户却输入的'a')会返回0,这时候输入队列头指针不向后移,下次getchar或者scanf还是从刚才的位置开始;读到文件结尾返回EOF(一般在头文件中会有#define EOF -1)。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 妻子婚内出轨我的熟人怎么办 父亲怀疑母亲有外遇作为儿子怎么办 老婆出轨我总心理过不去坎该怎么办 失业人员离培训机构远了怎么办 遇到申请假冒商品的仅退款怎么办 微信被骗什么消息都不知道怎么办 微信用手机登录显示未注册怎么办 唯品会海淘订单取消不了怎么办 大排量摩托芯片钥匙断了怎么办 夏天太热在宿舍没空调怎么办? 汽车钥匙掉了怎么办半路到不了家 当顾客说产品太贵的时候 怎么办 邮件还没有下载被发送者删除怎么办 绝地求生号被盗了怎么办邮箱没有用 暴雪忘了密码换了手机号怎么办 华为荣耀10看电视缓冲太慢怎么办 交易猫梦幻西游手游恶意仲裁怎么办 银色高跟鞋前面尖尖蹭掉色了怎么办 苹果账号邮箱和密码都忘了怎么办 网易云密码忘记了怎么办手机号换了 超市买过期东西但没有小票怎么办 网购退货商家已收货而不退款怎么办 手机号被别人注册了京东怎么办 中通快递把我发的货弄坏了了怎么办 在淘宝获取不了丰巢柜提货码怎么办 京东快递提货码数手机号错了怎么办 腾讯手游助手不能玩刺激战场怎么办 刚收的京东快递质量有问题怎么办 拼多多买家接受信息没有声音怎么办 苹果6s外放声音有杂音怎么办 华为手机不小心把视频删了怎么办 电脑做完系统不显示声卡了怎么办 苹果手机自带浏览器看视频卡怎么办 pr剪辑的时候视频太卡怎么办 小米手机忘记登录账号密码了怎么办 石膏线条软模硅胶模具气泡多怎么办 京东白条开通失败怎么办金牌用户 买家说我运费险没赔要投诉我怎么办 包邮有运费险的东西想退货怎么办 高锰酸钾沾到龟头上形成黑点怎么办 淘宝发货包邮买家退款运费怎么办