1、第 13章 文件操作长春理工大学计算机科学技术学院 孙爽滋本章学习内容 二进制文件和文本文件 文件的打开和关闭 文件的 顺序读写与随机读写 标准输入输出及其重定向问题的提出 1. 程序运行时,需大批量输入数据,若输入有错误,该怎么办?如:对 N个整数进行排序 2. 程序的运行结果想存留下来(不止是屏幕显示),该如何处理? 3. 操作目标本身就针对一个文档时,如对一个文档进行检索,是否存在 “敏感词 ”。示 例 对一重要、私密文件进行加密 /解密处理。方法一:加密程序 +解密程序方法二:加密 /解密演示加密程序 演示解密程序演示加密 /解密程序文件( File) 文件一般指存储在外部介质上有名字
2、的一组相关数据的集合用文件可长期保存数据,实现数据共享在 C语言中,文件可泛指磁盘文件、终端显示器或打印机 程序中的文件在程序运行时 由程序在磁盘上建立一个文件,通过写操作将数据存入该文件由程序打开磁盘上的某个已有文件,并通过读操作将文件中的数据读入内存 供程序使用文件的存放( Storage)n 可以建立若干文件目录(directoryfolder文件夹 )n 在目录里保存文件n 同一级目录里保存的文件不能同名n 对使用者而言,只要知道文件的路径 (path, 全目录 )和文件名,就能使用该文件q D:homeSunnermain.c q 这都是托 OS的福13.1 二进制文件和文本文件 文
3、件的类型( Type of Files)? 二进制文件 是一种字节序列,没有字符变换 按照数据在内存中的存储形式(二进制)存储到文件 如整数 123,在内存占 2个字节,则文件中也占 2个字节 文本文件 /ASCII码文件 是一种字符序列, 文件中存储每个字符的 ASCII码 如整数 123在文件中占 3个字节,分别存放这 3个字符的ASCII码文件的格式( Format of Files) 数据必须按照存入的类型读出,才能恢复其本来面貌 公开的标准格式 如 bmp、 tif、 gif、 jpg和 mp3等类型的文件,有大量软件能生成和使用这些类型的文件 不公开或加密的文件格式 如 Micro
4、soft Word 的 doc格式就不公开,所以至今没有 Word 以外的其他软件能完美地读出 doc文件 缓冲型和非缓冲型文件系统 缓冲型文件系统 指系统自动在内存中为每一个正在使用的文件开辟一个缓冲区,在读写文件时,数据先送到缓冲区,再传给 C程序或外存上 非缓冲型文件系统 不会自动设置文件缓冲区,缓冲区需由程序员自己设定13.2文件的打开和关闭 下面介绍的函数均定义在 中 FILE *fopen(const char *filename, const char *mode); FILE *fp = fopen(“D:A.TXT“, “r“); filename是文件名 包含路径。如果不含路径,表示打开当前目录下的文件 mode是打开方式 常用为 “r“、 “w“、 “rw“和 “a“,分别表示只读、只写、读写和添加 ,“rb“表示只读二进制文件 返回值为指向此文件的指针,留待以后使用 如果打开失败,返回值为 NULL