1 / 16
文档名称:

标准输入输出.ppt

格式:ppt   大小:875KB   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

标准输入输出.ppt

上传人:文库新人 2022/1/31 文件大小:875 KB

下载得到文件列表

标准输入输出.ppt

相关文档

文档介绍

文档介绍:标准输入输出
第1页,本讲稿共16页
标准输入输出的基本操作
文件控制结构中包含处理文件所需的全部信息,例如文件名、文件当前的读写位置、用于该文件读写的内存缓冲区位置等。打开文件时,系统会在内存中自动建立该文件的控标准输入输出
第1页,本讲稿共16页
标准输入输出的基本操作
文件控制结构中包含处理文件所需的全部信息,例如文件名、文件当前的读写位置、用于该文件读写的内存缓冲区位置等。打开文件时,系统会在内存中自动建立该文件的控制结构。关闭文件时,文件控制结构被释放。在对文件进行操作之前,要首先获取文件的指针,即指向文件控制结构的指针,后续操作都通过该指针进行。
标准输入输出时,有3个比较特殊的文件,它们是:
标准输入文件(stdin):一般为键盘;
标准输出文件(stdout):一般为显示器;
标准错误输出文件(stderr):一般为显示器。
第2页,本讲稿共16页
文件的打开
操作文件之前要打开文件,打开文件主要是在系统中分配一些资源用于保存该文件的状态信息,并获取文件的指针,以后调用其它函数对文件进行读写操作时都要提供这个指针。
FILE *fopen(const char *filename, const char *modes);
第3页,本讲稿共16页
文件的关闭
对文件操作完成后,应该关闭文件,进而释放文件所占用的系统资源。文件关闭之后,文件指针将不再有效,用户也就无法通过该指针操作文件。
int fclose(FILE *fp);
第4页,本讲稿共16页
缓冲区的刷新
刷新操作是指将缓冲区中的数据清除,这项工作可以由fflush或fpurge函数完成。
int fflush(FILE *fp);
int fpurge(FILE *fp);
第5页,本讲稿共16页
缓冲区属性的设置
缓冲区的大小和类型等都可以通过函数来设置,缓冲区的类型有下面三种:
全缓冲:缓冲区被填满后才执行输入输出操作,将数据写入到磁盘文件或输出到用户终端;
行缓冲:缓冲区中填入换行符时,执行输入输出操作;
无缓冲:不对数据进行缓存,标准错误输出stderr一般就是无缓冲的,这可以使错误信息尽快地显示出来。
int setvbuf(FILE *fp, char *buf, int mode, size_t size);
_IOFBF、_IOLBF、_IONBF
第6页,本讲稿共16页
非格式化输入输出
非格式化输入输出包括单个字节输入输出、字符串(行)输入输出以及数据块输入输出,下面分别进行介绍。
第7页,本讲稿共16页
单个字节输入输出
在进行单个字节的输入输出操作时,可以使用fgetc函数和fputc函数。
int fgetc(FILE *fp);
int fputc(int c, FILE *fp);
int getchar();
int fgetc(stdin);
int putchar(int c);
int fputc(c, stdout);
第8页,本讲稿共16页
单个字节输入输出
rewind函数
void rewind(FILE * fp);
fseek函数
int fseek(FILE *fp, long offset, int whence);
fseek(fp, 0, SEEK_SET);
fseek(fp, 0, SEEK_END);
ftell函数
long ftell(FILE *fp);
第9页,本讲稿共16页
字符串输入输出
对文件的输入输出,除了可以利用fgetc函数和fputc函数以字节为单位进行外,还可以使用fgets函数和fputs函数以字符串(行)为单位进行。
char *fgets(char *s, int n, FILE *fp);
int fputs(const char *s, FILE *fp);
第10页,本讲稿共16页
数据块输入输出
对文件进行输入输出操作,也可以以数据块为单位进行。所谓数据块,是指一串固定长度的字节,例如一个整型数据、一个结构体,或一个固定长度的数组等。
size_t fread(void *ptr, size_t size, size_t n, FILE *fp);
size_t fwrite(void *ptr, size_t size, size_t n, FILE *fp);
第11页,本讲稿共16页
格式化输入输出
格式化输出的函数