输入(input)和输出(output)
输入和输出设备(如键盘、U盘、扫描仪和激光打印机)。
I/O函数负责把信息传送到程序中。
ANSI C库汲取成功的经验,把大量的UNIX I/O函数囊括其中。由于必须保证这些标准函数在不同的计算机环境中能正常工作,所以它们很少使用某些特殊系统才有的特性。这里只讲解所有系统都通用的标准I/O函数,用这些函数编写的可移植程序很容易从一个系统移植到另一个系统。处理文件输入/输出的程序也可以使用这些函数。
许多程序都有输入验证,即判断用户的输入是否与程序期望的输入匹配。
8.1 单字符I/O:getchar()和putchar()
getchar()和putchar()每次只处理一个字符。这种方法很适合计算机。而且,这是绝大多数文本(即,普通文字)处理程序所用的核心方法。
程序获取从键盘输入的字符,并把这些字符发送到屏幕上。
/* echo.c -- repeats input */
#include
int main(void)
{
char ch;
while ((ch = getchar()) != '#')
putchar(ch);
return 0;
}
/* 输出:

*/
自从ANSI C标准发布以后,C就把stdio.h头文件与使用getchar()和putchar()相关联,这就是为什么程序中要包含这个头文件的原因(其实,getchar()和putchar()都不是真正的函数,它们被定义为供预处理器使用的宏)。
为何输入的字符能直接显式在屏幕上?是否有更好的方法结束输入而不是使用一个特殊字符?要回答这些问题,首先要了解C程序如何处理键盘输入,尤其是缓冲和标准输入文件的概念。