编辑: kr9梯 | 2012-12-15 |
理解 FILE *fp 文件指针;
能够用函数fopen和fclose打开和关闭文件;
掌握常用的文件读/写函数;
目录C文件基础知识 文件的打开与关闭 文件的读写 文件的定位 出错的检测 10.
1 C文件基础知识
1、文件:存储在外部介质上数据的集合,是操作系统数据管理的单位. 静夜思床前明月光,12345
6784
2、文件分类按文件的逻辑结构:记录文件:由具有一定结构的记录组成(定长和不定长)流式文件:由一个个字符(字节)数据顺序组成 按数据的组织形式:文本文件: ASCII文件,每个字节存放一个字符的ASCII码二进制文件:数据按其在内存中的存储形式原样存放 如int型数10000
0010011100010000 内存存储形式
0010011100010000 二进制形式
0011000100110000001100000011000000110000 ASCII形式 文本文件特点:存储量大、速度慢、便于对字符操作 二进制文件特点:存储量小、速度快、便于存放中间结果
3、文件缓冲区缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区.可减少主机和外部设备频繁交换数据的次数 磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统:
4、文件类型指针文件结构体类型FILE缓冲文件系统为每个正使用的文件在内存开辟文件信息区文件信息用系统定义的名为FILE的结构体描述Turbo C在stdio.h文件中有以下的文件类型声明: typedef struct{ short level;
缓冲区 满 或 空 的程度*/ unsigned flags;
文件状态标志*/ char fd;
文件描述符*/ unsigned char hold;
如无缓冲区不读取字符*/ short bsize;
缓冲区的大小*/ unsigned char *buffer;
/*数据缓冲区的位置*/ unsigned ar *curp;
指针,当前的指向*/ unsigned istemp /*临时文件,指示器*/ short token;
用于有效性检查*/}FILE;
定义文件类型变量定义文件型指针变量,指向FILE类型结构体变量,通过该结构体变量中的文件信息访问文件.如:FILE *fp;
静夜思床前明月光,12345
6784 fp 10.2 文件的打开与关闭C文件操作用库函数实现, 包含在stdio.h文件使用方式:打开文件→文件读/写→关闭文件 系统自动打开和关闭三个标准文件:标准输入------键盘 stdin标准输出------显示器 stdout标准出错输出-----显示器 stderr
1、文件的打开(fopen函数)函数原型: FILE *fopen(char *name,char *mode)调用方式:fopen( 文件名 , 使用文件方式 ) 例:FILE *fp;
fp=fopen( d:\\user\\myfile.txt , r );
为什么 \\ Read 返回值:正常打开,返回指向文件结 构体的指针;
打开失败,返回 NULL FILE *fp;
if (fp=fopen( file1 , r ))==NULL){ printf( cannot open this file!\n );
exit(0)关闭所有文件终止调用*/}
2、文件的关闭(fclose函数)作用:使文件指针变量与文件 脱钩 ,释放文件结构体和文件指针 FILE *fp;
fp=fopen( a.txt , r );
fclose(fp);
返回值:用于表示文件是否被正确地关闭,如果文件顺利关闭,该值为0,否则为-1(EOF).返回值可以用ferror函数测试 10.3 文件的读写
1、读/写文件中的一个字符fputc函数(putc函数)函数原型:int fputc(int c, FILE *fp)功能:把一字节代码c写入fp指向的文件中返值:正常,返回c;
出错,为EOF(-1) fgetc函数(getc函数)函数原型:int fgetc(FILE *fp)功能:从fp指向的文件中读取一字节代码返值:返回读到的代码值;