文章目录
一、单字符I/O:getchar()和putchar()
注意getchar()和putchar()都不是真正的函数,它们被定义为预处理器使用的宏。
二、缓冲区
1、优点
- 把若干字符作为一个块进行传输比逐个发送这些字符节约时间。
- 如果用户打错字符,可以通过键盘修改错误。当最后按下Enter键时,传输的是正确的输入。
2、缺点
- 某些交互式程序也需要无缓冲输入。
三、结束键盘输入
1.文件、流和键盘输入
- C语言中有很多可以打开、读取、写入和关闭文件的库函数
- 流是一个实际输入或输出的理想化数据流,这意味着不同属性和不同种类的输入,由属性更统一的流来表示。于是,打开文件的过程就是把流和文件相关联,而且读写都是通过流来完成
2.文件结尾
#define EOF -1
在程序中可以使用这样的表达式,while((ch = getchar()) != EOF),来判断程序是否到达文件结尾
四、重定向文件
简单来说就是将键盘输入变成了文件输入,将屏幕输出变成了文件输出。具体实现可参考此博主博文:重定向文件的具体实现
五、创建更友好的用户界面
- 使用缓冲输入
- 混合字符和数值输入
六、输入验证
1.分析程序
使用模块(独立函数)化进行编程
2.输入流和数字
七、小结
==编写程序时,要认真设计用户界面。事先预料一些用户可能会犯的错误,然后设计程序妥善处理这些错误情况。