【C-Primer-Plus读书笔记】第8章:字符输入/输出和输入验证
IO函数负责把信息传送到程序中。
单字符I/O:getchar()和putchar()
- getchar()和putchar()每次只处理一个字符,这种方法很适合计算机。而且,这是大多数文本处理程序所用的核心方法。
- 其实getchar()和putchar()都不是真正的函数,它们被定义为供预处理器使用的宏。
缓冲区
无缓冲和缓冲输入
- 用户输入文本时回显用户输入的字符后立即重复打印该字符是属于无缓冲(直接)输入,即正在等待的程序可立即使用输入的字符;
- 而在用户按下Enter键之前不会重复打印刚输入的字符,这种输入形式属于缓冲输入,用户输入的字符被收集并存储在一个被称为缓冲区的临时存储区,按下Enter键后,程序才可以使用用户输入的字符。
为什么要有缓冲区?
- 把若干字符作为一个块进行传输比逐个发送这些字符节约时间;
- 如果用户打错字符,可以直接通过键盘修正错误,当按下Enter键时,传输的是正确输入。
缓冲输入和无缓冲输入都有用武之地