C语言文件习题.pptVIP

  • 8
  • 0
  • 约8.21千字
  • 约 69页
  • 2021-10-14 发布于广东
  • 举报
文件;引子;第十一章 文件;第十一章 文件;11.1 文件概述;11.1 文件概述;系统对文件的处理过程 系统对文件的处理过程就是对文件进行输入/输出操作的过程。;11.1 文件概述;从文件数据的组织形式(存储格式)看 ASCII文件(或称文本文件,即TEXT文件) 文本文件中的数据采用ASCII码格式存储,全部数据转换为ASCII码。每个ASCII字符占1个字节。ASCII文件使用文本编辑器可直接阅读。 二进制文件 对数据在内存中的二进制存储格式不做任何转换,直接存入文件,形成二进制文件。二进制文件在操作系统???不能直接阅读。;11.1 文件概述;比较: ASCII文件中,每个字符以ASCII码形式存储,方便对字符的逐个处理;在操作系统下或使用文本编辑器时,可以直接阅读、修改,方便与其它系统进行数据交换。 缺点是占用磁盘存储空间多,并且系统要付出将内存中的二进制形式转为ASCII码的时间开销。 用二进制形式输出,可以节省磁盘空间和转换时间,但输出的数据因为是内存中的格式,在操作系统下和一般的编辑器中不能直接识别。;11.1 文件概述;11.1 文件概述;11.1 文件概述;11.1 文件概述;第十一章 文件;文件类型 FILE 在缓冲文件系统中,用一个 FILE 类型的结构变量来描述一个文件,该结构变量用于存放文件的有关信息,如文件名、文件状态等。 在C语言中,无论是一般磁盘文件还是设备文件,都要通过文件结构的数据集合进行输入输出处理。 文件结构不需要用户自己定义,是由系统事先定义好的,包含在头文件 stdio.h 中,用户可以直接使用。;文件结构类型FILE: typedef struct { int _fd; /*文件位置指针,即当前文件的读写位置*/ int _cleft; /* 文件缓冲区中剩余的字节数 */ int _mode; /* 文件操作模式 */ char * nextc; /*用于文件读写的下一个字符位置*/ char * _buff; /* 文件缓冲区位置(指针) */ } FILE ; 文件结构变量在打开文件时由操作系统自动建立,用户使用文件时无需重复定义。 在使用文件的时候要使用文件包含命令: #include stdio.h;11.2 文件处理;使用文件的一般步骤 打开文件 → 操作文件 → 关闭文件 打开文件:建立用户程序与文件的联系,为文件开辟文件缓冲区。 操作文件:是指对文件的读、写、追加和定位操作: 读操作:将文件中的数据读入计算机。 写操作:向文件输出数据。 追加操作:将数据写到原有数据的后面。 定位操作:移动文件读写位置指针。 关闭文件:切断文件与程序的联系,将文件缓冲区的内容写入磁盘,并释放文件缓冲区。;打开文件(fopen) fopen函数的调用形式是: FILE * fp; fp = fopen (文件名, 文件使用方式); 文件名:需要打开的文件名称(字符串)。 文件使用方式:是具有特定含义的符号。 函数功能: 按指定的文件使用方式打开指定的文件。 若文件打开成功,则返回值为非NULL指针; 若文件打开失败,返回NULL。;11.2 文件处理;二进制文件的三种基本打开方式 “rb”:只读方式 “wb”:只写方式 “ab”:追加方式 文件的其它打开方式 “r+”:可对文本文件进行读/写操作。若文件不存在返回NULL;若文件存在,内容不会被清空。 “w+”:可对文本文件进行读/写操作。若文件已经存在,则要先将文件原来的内容清空。 “a+”:可对文本文件进行读/追加操作。 “rb+”:可对二进制文件进行读/写操作。 “wb+”:可对二进制文件进行读/写操作。 “ab+”:可对二进制文件进行读/追加操作。;常见文件打开操作 if ((fp = fopen (filename, r)) == NULL ) { printf (Cannot open file.\n); exit (0); /*打开文件出错,调用库函数终止程序*/ } 含义:以只读方式打开文件名为filename的文件。 文件名可以是从盘符开始的完整路径名,也可以是相对路径。 ;11.2 文件处理;11.2 文件处理;关闭文件(fclose) fclose函数的调用形式: FILE * fp; ….. fclose ( fp ); fp:已经打

文档评论(0)

1亿VIP精品文档

相关文档