首先拿这本书“开刀”,随便挑一章解析,精读!!!
这里的输入/输出介绍的是标准库,讲述一些输入/输出函数、字符串处理函数、存储管理函数与数学函数,以及其他一些C语言程序的功能,重点为输入./输出。在前一些列的文章中,分别介绍了文件I/O,标准I/O库,高级I/O,当然这些都是和系统相关的,这里仅仅是标准库中的I/O。
一、标准输入/输出
这是从语言的角度分析I/O,但是在前面已经从三个方面(文件I/O,标准I/O,高级I/O)分析了I/O。
文本流由一些列行组成,每一行的结尾是一个换行符。如果系统没有遵循这种模式,则标准库将通过一些措施使得该系统适应这种模式。例如,标准库可以在输入端将回车符和换行符转换为换行符,而在输出端进行反向转换。
getchar()函数从标准输入中(一般为键盘)一次读取一个字符:
int getchar(void);此函数在每次被调用时返回下一个输入字符。若到文件结尾,则返回EOF。EOF一般都为-1.有时使用符号<来实现输入重定向,它将把键盘输入替换为文件输入:如果程序prog中使用了函数getchar,则命令行
prog<infile使得prog从输入文件infile中读取字符。
函数int putchar(int)用于输出数据。putchar(c)将字符c送至标准输出上,没有错误,则函数putchar将返回输出的字符;发生错误,则返回EOF。
使用输入/输出库函数的每个源程序文件必须在引用这些函数之前包含下列语句:#include <stdio.h>。当文件名用一对尖括号<>括起来,预处理器将在具体实现定义的有关位置中查找指定的文件(例如,在UNIX系统中,文件一般放在目录/usr/include中)。
许多程序只从一个输入流中读取数据,并且只向一个输出流中输出数据。对于这样的程序,只需要使用函数getchar、putchar和printf实现输入/输出即可,并且对程序来说已经足够了。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
int c;
while((c=getchar())!=EOF)
putchar(tolower(c));
return 0;
}