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

链接地址:https://www.desk33.com/p-250690.html