重读《C primer plus》(八)

一、单字符I/O:getchar()和putchar()

注意getchar()和putchar()都不是真正的函数,它们被定义为预处理器使用的宏。

二、缓冲区

1、优点

  1. 把若干字符作为一个块进行传输比逐个发送这些字符节约时间。
  2. 如果用户打错字符,可以通过键盘修改错误。当最后按下Enter键时,传输的是正确的输入。

2、缺点

  1. 某些交互式程序也需要无缓冲输入。

三、结束键盘输入

1.文件、流和键盘输入

  • C语言中有很多可以打开、读取、写入和关闭文件的库函数
  • 是一个实际输入或输出的理想化数据流,这意味着不同属性和不同种类的输入,由属性更统一的流来表示。于是,打开文件的过程就是把流和文件相关联,而且读写都是通过流来完成

2.文件结尾

#define EOF -1
在程序中可以使用这样的表达式,while((ch = getchar()) != EOF),来判断程序是否到达文件结尾

四、重定向文件

简单来说就是将键盘输入变成了文件输入,将屏幕输出变成了文件输出。具体实现可参考此博主博文:重定向文件的具体实现

五、创建更友好的用户界面

  1. 使用缓冲输入
  2. 混合字符和数值输入

六、输入验证

1.分析程序

使用模块(独立函数)化进行编程

2.输入流和数字

七、小结

==编写程序时,要认真设计用户界面。事先预料一些用户可能会犯的错误,然后设计程序妥善处理这些错误情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值