- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c24-文件
程序设计基础第10章 文件第24讲 文件今日主题基本概念通过FILE结构进行文件操作打开文件、关闭文件写文件读文件文件定位文件状态文件的基本概念什么是文件?文件指存储在外部介质上数据的集合。文件有文件名。文件是按名存取的。C语言把文件看作一个字节序列。按字节顺序流入或流出设备。每个文件以文件结束标志EOF结束。文件分类文本文件(又叫ASCII文件)。 二进制文件。文件缓冲区输出文件缓冲区:在内存中开辟,缓冲输出数据。输入文件缓冲区:在内存中开辟,缓冲输入数据。文件的基本概念从内存向磁盘输出数据从磁盘向计算机读入数据通过FILE结构进行文件操作C定义了FILE结构类型。文件的属性信息存放在FILE结构变量中。要访问文件,须定义FILE指针变量,指向要访问的FILE结构变量。typedef struct{ short level; unsigned flags; //状态标志 char fd; //文件描述符 unsigned char hold; short bsize; //缓冲区大小 unsigned char *buffer; //缓冲区指针 unsigned char *curp; //当前读写指针 unsigned istemp; short token;}FILE;FILE *fp;头文件stdio.h通过FILE结构进行文件操作文件操作之前,必须打开文件。文件操作之后,要关闭文件。打开文件 fopen读文件:fread,fgetc,fgets,fscanf写文件:fwrite,fputc,fputs,fprintf文件定位:fseek,rewind,ftell文件状态:feof,ferror,clrarerr关闭文件 fclose打开文件函数原型FILE * fopen(char *filename, char *mode);打开成功则返回文件指针。打开失败则返回NULL。打开方式r 只读w 只写或创建a 只写追加或创建r+ 读写w+ 读写或创建a+ 读写追加或创建b 二进制文件文件名[例] 只读方式打开test.txtFILE *fp;fp=fopen(d:\\test.txt,r);[例]更安全的打开文件范例if((fp=fopen(tst.c,r)==NULL){ printf(文件未找到!\n);}关闭文件int fclose(FILE *fp);关闭时,会先将文件缓冲区的数据写入文件。关闭成功则返回0;关闭出错则返回EOF[例] FILE *fp;fp=fopen(d:\\test.txt,rb);fclose(fp);打开、关闭文件[例10.1] 打开和关闭文件#includestdio.hvoid main(){ FILE * fp; fp=fopen(test.txt,a+); if(fp==NULL) //判断文件打开操作是否成功 { printf(open file error\n); return; } fclose(fp);}写文件//写一个字符int fputc(char ch, FILE *fp);//写一个字符串int fputs(char *str,FILE *fp);//格式化写int fprintf(FILE *fp,char *format,args,...);//写数据项int fwrite(void *buf,unsigned size,unsigned n,FILE *fp);写文件[例10.2] 将一个字符串写入文件 ,每次写入一个字符。#includestdio.hvoid main(){ FILE * fp; char str[ ]=Hello World; int i; if((fp=fopen(test.txt,w))!=NULL) { for(i=0;isizeof(str);i++) fputc(str[i],fp); fclose(fp); } else printf(open file error\n);}写文件[例10.3] 将一个字符串写入文件,观察fputs()函数的作用。#includestdio.hvoid main(){ FILE * fp; char str[ ]=Hello World; if((fp= fopen(test.txt,w))!=NULL) { fputs(str,fp); fclose(fp); } else printf(open file error\n);}写文件[例10.4] 将不同类型的数据以指定格式写入文件中。#includestdio.hvoid main(){ FILE * fp; int a=12; float b=12.35
文档评论(0)