数据库文件(数据库).ppt
《数据库文件(数据库).ppt》由会员分享,可在线阅读,更多相关《数据库文件(数据库).ppt(26页珍藏版)》请在优知文库上搜索。
1、第十二章 文件掌握几个概念: 文件、文件操作的分类、顺序文件、索引文件、索引文件访问的过程、ISAM文件、VSAM文件、文件操作的步骤如下:1.首先用fopen函数打开文件。2.然后可以对文件进行读或写操作对文件的3.读或写操作完成后,应该及时用fclose函数关闭文件。注意:文件操作的所有文件均包含在stdio.h文件中。所以在程序的开始应有 #include 12.1 文件的打开与关闭 12.1.1 打开文件函数fopen 对文件进行读写之前应当“打开”该文件,读写完毕之后应当“关闭”该文件。 ANSI C规定使用fopen函数来打开文件。 fopen函数的原型为: FILE *fopen
2、(char *filename, char *mode); 其中,filename指定要打开的文件名,可以使用字符串常量,也可以使用指向字符串的指针变量;mode表示文件的使用方式使用方式 含义 文件类型说明“r”只读 文本文件将要从文件中读出数据而打开文件“w”只写 文本文件将要往文件中写入数据而打开文件“a”追加 文本文件将要往文件尾增加数据而打开文件“r+”读写 文本文件为读/写而打开文件“w+”读写 文本文件为读/写而建立新文件“a+”读写 文本文件为读/写而打开文件“rb”只读 二进制文件将要从文件中读出数据而打开文件“wb”只写 二进制文件将要往文件中写入数据而打开文件“ab”追加
3、 二进制文件将要往文件尾增加数据而打开文件“rb+”读写 二进制文件为读/写而打开文件“wb+”读写 二进制文件为读/写而建立新文件“ab+”读写 二进制文件为读/写而打开文件文件打开模式(mode)说明表 设有如下文件指针的定义:FILE *fp; 那么fp=fopen(“student.dat”,”w”); 表示以文本方式打开文件student.dat,打开后要往文件中写 入数据。 又如: fp=fopen(“score.dat”,”wb+”); 表示以二进制方式打开文件score.dat,向文件中写入数据后还可以读出文件中的数据。 如果打不开文件(原因很多),fopen会返回空指针NUL
4、L,我们常用下面的方法打开文件: if( ( fp=fopen(“文件名”, “文件使用方式”) )=NULL ) printf(“无法打开此文件!n”) exit(0); 1. 使用“r”和”r+”时,文件应已经存在。2. 使用“w”和”w+”时,新建一个文件,若磁盘上已有同名文件则被删除。3. 使用“a”和”a+”时,文件应已经存在,原有内容不被删除,位置指针移到文件末尾,可以添加内容。4. 在读文本文件时,遇到回车(r=13)换行(n=10)符,自动转换成一个换行符;写时,反过来,将一个换行符转换成一个回车符和一个换行符(为了可以使用TYPE命令显示其内容)。读写二进制文件则无此转换。5
5、. 在程序开始运行时,系统自动打开三个文件:标准输入设备(键盘)、标准输出设备(显示器)和标准错误输出设备(通常也是显示器),与之对应的文件指针为stdin、stdout和stderr。12.1.2 关闭文件函数 fclose使用完文件后应当关闭它,系统把缓冲区的内容写回文件,然后将文件指针变量与该文件“脱钩”。关闭文件使用函数fclose,它的原型为int fclose(FILE *fp);该函数关闭fp指向的文件。如果文件正常关闭将返回0值;如果关闭文件失败则返回非0值。例fp=fopen(“a:name.txt”,”w”); /*打开一个文本文件*/ /*对文件进行操作*/fclose(
6、fp); /*关闭该文件*/12.1.3 检测文件是否结束函数 feof feof的原型为:int feof(FILE *fp); 它用于检测位置指针是否到达了文件尾部。 返回0表示位置指针未到达文件尾。 返回非0表示位置指针已到达文件尾。12.2 向文件中写数据向文件中写入数据可以使用以下函数:1.fputc函数fputc的原型为int fputc(int ch, FILE *fp);此函数会将字符ch写入fp指向的文件。若操作成功则返回ch的值;若操作失败则返回EOF(-1)。通常用于将一个字符写入一个文本文件。2. fwrite函数函数原型:unsigned fwrite(void *b
7、uffer, unsigned size, unsigned count, FILE *fp);功能:将buffer所指向的内存单元开始的内存区中的每项长度为size字节的count个数据项写到fp指向的文件中。此函数主要用于二进制文件的写操作,可以将一个数组的数据写入文件中。例12.1建立一个文本文件letter.dat,将26个英文大写字母写到文件中。#include main() char ch; FILE *fp; fp=fopen(letter.dat,w); if(fp=NULL) printf(nCannot open letter.dat!); exit(0); for(ch=
8、A;ch=Z;ch+) fputc(ch,fp); fputc(n,fp); fclose(fp);建立一个二进制文件score.dat,存放某班32名同学某门课的成绩(每名同学要求有学号和成绩两个数据项。#include struct struct_name int number; int score;students32;main() FILE *fp; int i; if(fp=fopen(score.dat,wb)=NULL) printf(Cannot open file score.dat!n); exit(0); for(i=0;i32;i+) scanf(%d%d,&stude
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库文件 数据库