- 6
- 0
- 约8.17千字
- 约 32页
- 2017-06-03 发布于湖北
- 举报
* * 第12章 文 件 §12.1 概述 1.文件信息的集合,如一段程序、一段数据、一副图等 计算机操作系统以文件形式存储信息,文件是最小的管理单位 如 源文件名.c、文件名.obj、文件名.exe 本章讲的是程序在运行中数据文件的输入输出 输入文件存在磁盘上的数据文件,程序运行中将文件的数据读入 内存相应变量、数组的存储单元 输出文件程序运行中将变量、数组 的数据以文件形式存于磁盘 简单例子,读入一个数组,求最大值. #include stdio.h int maxvalue(n,p) int n,*p; {int i,t; t=*p; for(i=1;in;i++) if(t*(p+i)) t=*(p+i); return(t); } void main() {int a[5][5],i,j; for(i=0;i5;i++) for(j=0;j5;j++) scanf(%d,a[i][j]); for(i=0;i5;i++) {for(j=0;j5;j++) printf(%d , a[i][j]); printf(\n);} printf(max=%d\n,maxvalue(25,a)); } void main() {int a[5][5],i,j; FILE *fp,*fp1; fp=fopen(file1.txt,r); for(i=0;i5;i++) for(j=0;j5;j++) fscanf(fp,%d,a[i][j]); fclose(fp); fp1=fopen(file2.txt,w); for(i=0;i5;i++) {for(j=0;j5;j++) fprintf(fp1,%d , a[i][j]); fprintf(fp1,\n);} fprintf(fp1,maxvlue=%d\n,maxvalue(25,a)); fclose(fp1); } 采取数据文件的好处 (1)原始数据以文件输入保证数据的正确性,减少重复输入数据操作 (2)以文件形式输出,便于打印、存档 (3)使用数据文件内存交换,小机算大题 2.C语言文件按字节流存储,形式有文本(ASCII码)和二进制数据 文本文件字符形式存储,一个字符占一个字节 二进制文件二进制数据直接存储,存储字节数由数据的类型确定 两者比较 文本文件能用编辑软件编辑,但运算慢,一般用于原始数据文件和结果输出文件 二进制文件运算快,但文件内容不能阅读,一般作为中间结果文件 文件缓冲区开设途征 (1)系统自动开设,使用之前需声明,称之缓冲文件系统 (2)用户自己开设,以数组形式定义,称之非缓冲文件系统 注 第(1)符合ANSI C标准 3.C语言对数据文件的处理方法 程序 数据区 文件缓冲区 磁盘 内存 4.文件类型指针 在缓冲文件系统文件缓冲区通过结构变量指针实现 格式 FILE *指针变量 例 FILE *fp; 操作 定义FILE类型指针,用于指向文件缓冲区,fp又称文件柄 FILE是由struct定义的类型,在stdio.h库文件中可以查到 typedef struct { short level; /* 缓冲区使用量 */ unsigned flags; /* 文件状态标志 */ char fd; /* 文件描述符 */ short bsize; /* 缓冲区大小 */ unsigned char *buffer; /* 文件缓冲区的首地址 */ unsigned char *curp; /* 指向文件缓冲区的工作指针 */ unsigned char hold; /* 其他信息 */ unsigned istemp; short token; } FILE; 每个文件具有FILE结构体和文件缓冲区 通过fp-cup指示文件缓冲区中数据存取的位置 fp-cup存取文件缓冲区数据系统自动定位 5.使用数据文件的步骤 (1)定义文件指针变量 (2)打开或建立数据文件 (3)读、写文件数据 (4)关闭数据文件 C语言对数据文件的操作通过一系列函数实现 §12.2 文件的打开和关闭 12.2.
原创力文档

文档评论(0)