- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lesson23讲述
Lesson 23 文件 文件打开与关闭 文件字符读写 文件字符串读写 文件 持久化存储数据 外存数据以文件形式组织 依组织形式不同,分为两类: 文本文件 二进制文件 文本文件 以字符为单位,每个字符一个字节,存放ASCII码 例如: 00111000001101110011011000110101 存放8765 有若干文本行,每行以换行符’\n’结束 文本文件结束标志是EOF,它的值为-1 二进制文件 以二进制形式存储数据 例如:数值8765 存放:0010001000111101 需要两个字节存储这个数值 所以,二进制文件也可以看成字节序列,称为字节流,有了这一特征,也将文件称为流式文件 文件指针 FILE结构:一个内存中的FILE结构对应一个磁盘文件, FILE结构声明在stdio.h中。 typedef struct { int level; /* 文件缓冲区的占用状况 */ unsigned flags; /* 文件状态标志 */ char fd; /* 文件描述符 */ unsigned char hold;/*没有文件缓冲区时保存字符*/ int bsize; /* 文件缓冲区大小 */ unsigned char *buffer; /* 数据缓冲区 */ unsigned char *curp; /* 指向当前的读写位置 */ unsigned istemp; /* 临时文件指示器 */ short token; /* 用于有效性检查 */ } FILE; 打开文件 使用文件,先定义文件指针 FILE * 指针变量名; FILE *fp; 打开文件,系统自动创建一个FILE结构,并提供指向此结构的指针。 库函数: FILE *fopen(char *fname, char *mode) FILE *fp; if( fp = fopen(“c:\\file.dat, “r )==NULL ) printf(“\n不能打开文件 ); 文件操作模式 mode参数的值 关闭文件 打开文件后必须关闭文件,否则可能造成文件指针泄漏或文件数据丢失。 完成库函数:成功返回0,否则为非0值 int fclose(FILE *fp) if( fclose(fp) ) printf(“\n文件关闭有错误 ); 文件读写 打开文件后可对文件进行读写操作。 库函数中有若干文件读写函数: 字符读写操作 字符串读写操作 数据块读写操作 格式化读写操作 字符读写操作 int fgetc(FILE *fp) 在stdio.h中 从fp所指文件的当前位置读取一个字符,并将文件位置指示器增大; 返回值为字符转换的整数。 到达文件尾时返回值为EOF int fputc(int c, FILE *fp) 在stdio.h中 将字符c写到fp所指的文件的当前位置,并将文件位置指示器增大; 返回值为所写的字符的值; 字符读写操作 例题:读取一个文本文件,并将内容显示在屏幕上。 #include stdio.h int main() { FILE *fp; int ch; if( ( fp=fopen(e:\\a.txt,r) )==NULL ){ printf(打不开文件); return -1; } ch = fgetc( fp ); while( ch!=EOF ){ putchar(ch); ch = fgetc( fp ); } fclose(fp); putchar(\n); return 0; } 字符读写操作 例题:文本文件拷贝(从a.txt拷贝到b.txt) #include stdio.h int main() { FILE *fp1, *fp2; int ch; if( ( fp1= fopen (e:\\a.txt,r) )==NULL ){ printf(打不开旧文件); return -1; } if( ( fp2=fopen(e:\\b.txt,w))==NULL ){ printf(打不开新文件); return -1; } while( (ch=fgetc(fp1))!=EOF ){ fputc( ch, fp2 ); } fclose(f
您可能关注的文档
- 人教版二年级语文上册《清澈的湖水》课件概要.ppt
- 人教版二年级语文上册识字四课件概要.ppt
- LBNL软件-THERM讲述.ppt
- labvieW课件2讲述.ppt
- labview经典练习题讲述.doc
- 人教版二年级上册第34课-农业的变化真大概要.ppt
- 人教版五年级《品德与社会》上册全册教案概要.doc
- 人教版五年级上下册语文1-8单元词语盘点、日积月累概要.doc
- 人教版五年级上册小数乘法《分段计费》概要.ppt
- 人教版五上语文ppt4仓颉造字概要.ppt
- 2023年河北省保定市高碑店市卫生健康局公务员考试《行政职业能力测验》历年真题及详解.docx
- 2023年河北省保定市安国市信访局公务员考试《行政职业能力测验》历年真题及详解.docx
- 信息必刷卷03(广东省专用)(解析版).docx
- 信息必刷卷02(天津专用)(原卷版).docx
- 信息必刷卷03(安徽专用)(原卷版).docx
- 热点08 工艺流程题 -2024年中考化学【热点·重点·难点】专练(江苏专用)(解析版).docx
- 专题06 比较异同类选择题(含答题技巧,题型专练60题)(解析版).docx
- 专题09 推断题、工业流程题、溶解度曲线题(解析版).docx
- 信息必刷卷04(湖南专用)(解析版).docx
- 信息必刷卷01(福建专用)(原卷版).docx
最近下载
- (完整版)数学英文词汇大全.docx VIP
- 完整版本圣三国蜀汉传攻略.docx
- 第4课用联系的观点看问题2024-2025学年中职高教版2023哲学与人生.pptx VIP
- 高中化学_电化学复习专题教学设计学情分析教材分析课后反思 .pdf
- 广告标识牌采购投标方案(技术标360页).docx
- 测绘地理信息安全保障措施通用标准审查细则(试行).doc VIP
- 语文课程实践技能智慧树知到期末考试答案章节答案2024年广州大学.docx
- 现代汉语词性辨析练习及答案.doc
- 广东省安装工程综合定额2010.pdf VIP
- 外研社高中英语必修一 Unit 5 The monarch’s journey 教学设计.docx
文档评论(0)