- 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
- LCD12864液晶显示电子钟设计解读.doc
- LabVIEW中如何实现子程序调用1解读.ppt
- LDO电路设计规范解读.doc
- 如何使用CAM350制作Support PIN精要.ppt
- 如何使用Netty开发实现高性能的RPC服务器精要.doc
- Landscapestudiesandtourismresearch景观学与旅游学解读.pptx
- 新粤教版2.2文明交往1讲述.ppt
- 如何作好进料-制程-成品品质管理精要.ppt
- lec01微型计算机系统概述解读.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 手术室人员行为管理与规范.pptx VIP
- 2025年呼和浩特市土默特左旗社区工作者招聘考试试题 .pdf VIP
- 卫生院优质服务基层行创建资料(1.1.2主要任务).docx VIP
- 2025年教职工疗休养服务项目212页.docx VIP
- 2025年内蒙古自治区中考语文试题卷(含答案解析).docx
- 中学生英才计划面试常见问题.docx VIP
- 社会组织矛盾纠纷排查化解工作总结.pptx VIP
- 近十年管综数学真题.pdf VIP
- 13、安放式支管台组对焊接.pptx VIP
- SIEMENS西门子 SIMATIC ET 200SP 电机启动器 (3RK1308‑0..00‑0CP0)设备手册.pdf VIP
文档评论(0)