数据库文件(数据库).ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件操作的步骤如下: 首先用fopen函数打开文件。 然后可以对文件进行读或写操作对文件的 读或写操作完成后,应该及时用fclose函数关闭文件。 注意:文件操作的所有文件均包含在stdio.h 文件中。所以在程序的开始应有 #include stdio.h 12.1 文件的打开与关闭 12.1.1 打开文件函数fopen 对文件进行读写之前应当“打开”该文件,读写完毕之后应当“关闭”该文件。 ANSI C规定使用fopen函数来打开文件。 fopen函数的原型为: FILE *fopen(char *filename, char *mode); 其中,filename指定要打开的文件名,可以使用字符串常量,也可以使用指向字符串的指针变量;mode表示文件的使用方式 设有如下文件指针的定义: FILE *fp; 那么fp=fopen(“student.dat”,”w”); 表示以文本方式打开文件student.dat,打开后要往文件中写 入数据。 又如: fp=fopen(“score.dat”,”wb+”); 表示以二进制方式打开文件score.dat,向文件中写入数据后还可以读出文件中的数据。 如果打不开文件(原因很多),fopen会返回空指针NULL,我们常用下面的方法打开文件: if( ( fp=fopen(“文件名”, “文件使用方式”) )==NULL ) { printf(“无法打开此文件!\n”) exit(0); } 1. 使用“r”和”r+”时,文件应已经存在。 2. 使用“w”和”w+”时,新建一个文件,若磁盘上已有同名文件则被删除。 3. 使用“a”和”a+”时,文件应已经存在,原有内容不被删除,位置指针移到文件末尾,可以添加内容。 4. 在读文本文件时,遇到回车(‘\r’==13)换行(‘\n’==10)符,自动转换成一个换行符;写时,反过来,将一个换行符转换成一个回车符和一个换行符(为了可以使用TYPE命令显示其内容)。读写二进制文件则无此转换。 5. 在程序开始运行时,系统自动打开三个文件:标准输入设备(键盘)、标准输出设备(显示器)和标准错误输出设备(通常也是显示器),与之对应的文件指针为stdin、stdout和stderr。 12.1.2 关闭文件函数 fclose 12.1.3 检测文件是否结束函数 feof 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); 功能:将buffer所指向的内存单元开始的内存区中的每项长 度为size字节的count个数据项写到fp指向的文件中。 此函数主要用于二进制文件的写操作,可以将一个数组的数 据写入文件中。 [例12.1] 建立一个文本文件letter.dat,将26个英文大写字母写到文件中。 #include stdio.h 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); } 建立一个二进制文件score.dat,存放某班32名同学某门课的成绩(每名同学要求有学号和成绩两个数据项。 #include stdio.h struct struct_name { int number; int score; }students[32]; main() { FILE *fp; int i; if((fp=fopen(score.dat,wb))==NULL) {printf(Cannot open file score.dat!\n); exit(0); } for(i=0

文档评论(0)

awang118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档