- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第21讲 文件
第二十一讲 文件 文件概述 文件的打开与关闭 文件的读/写 文件的定位 真题分析 第一节 C文件概述 计算机的文件分类方法有很多,本讲只讨论通过C程序的输入、输出操作所涉及的、存储在外部介质上的文件,这类文件通常被称为“数据文件”。 第一节 C文件概述 使用数据文件的目的 数据文件的改动不引起程序的改动——程序与数据分离 不同程序可以访问同一数据文件中的数据——数据共享 能长期保存程序运行的中间数据或结果数据 文件的分类 文件的处理方法 文件类型指针 文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中 文件类型指针 指针变量说明: FILE *fp; 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件的信息,访问文件。 文件关闭后,它的文件结构体被释放。 第二节 文件的打开与关闭 C语言没有输入输出语句,文件操作用库函数实现,包含在头文件stdio.h中 文件的使用方式: 打开文件--文件读/写--关闭文件 文件的打开(fopen) 常见的文件打开方式 常见的文件打开方式 说明 用“r”方式打开的文件,只能用于输入,并且文件必须已经存在; 用w方式打开的文件,只能用于输出,如果文件不存在,则在打开时新建一个同名文件; 要向文件末尾添加数据,则用a方式打开,如果文件不存在,则在打开时新建一个同名文件; 用r+、w+、a+方式打开的文件既可以用来输入也可以用来输出; 不能打开时则会返回一个NULL指针; 文件的关闭(fclose) 函数原型:int fclose(FILE *fp) 第三节 文件的读/写 1.字符I/O:fputc与fgetc fputc 函数原型:int fputc (char ch, FILE *fp) 功能:把ch中字符写入fp指向的文件中 返回值:正常,返回ch; 出错为EOF fgetc 函数原型:int fgetc (FILE *fp) 功能:从fp指向的文件中读取一个字符 返回值:正常,返回读到的代码值; 遇到文件尾或出错,返回EOF 例: 从键盘输入字符,逐个存到磁盘文件中,直到输入“# ”为止。 #include stdio.h void main() { FILE *fp; char ch; if((fp=fopen(out.txt,w))==NULL) { printf(cannot open file\n); exit(0); } printf(Please input string:); ch=getchar(); while(ch!=#) { fputc(ch,fp); putchar(ch); ch=getchar(); } fclose(fp); } 第三节 文件的读/写 2.判断文件是否结束 feof 函数原型: int feof(FILE *fp) 功能:判断指针变量fp所指的文件是否结束 返回值:文件结束,返回真(非0);文件未结束,返回0。 第三节 文件的读/写 3.数据块I/O:fread与fwrite fread 函数: fread(pt, size, n, fp) 功能:从fp所指文件中读取长度为size的n个数据块存到pt所指存储区 返回值:成功,返回读/写的块数;出错或遇文件尾,返回0。 第三节 文件的读/写 3.数据块I/O:fread与fwrite fwrite 函数: fwrite(pt, size, n, fp) 功能:把pt所指向的n*size个字节输出到fp所指文件中。 返回值:成功,返回读/写的块数;出错或文件尾,返回0。 第三节 文件的读/写 4.格式化I/O:fprintf与fscanf fprintf 函数原型:int fprintf(FILE *fp, char *format[,argument,…]) 功能:按格式对文件进行输出操作 返回值:成功,返回输出的个数;出错或文件尾,返回EOF。 第三节 文件的读/写 4.格式化I/O:fprintf与fscanf fscanf 函数原型: int fscanf(FILE *fp, char *format[,address,…]) 功能:按格式对文件进行输入操作 返回值:成功,返回输入的个数;出错或文件尾,返回EOF 第三节 文件的读/写 5.字符串I/O: fgets与fputs fgets 函数原型: char *fg
您可能关注的文档
- 认识《郑码》.pdf
- PPT模版-精选.ppt
- lab5(Linux和Windows进程管理).doc
- NodeB常见故障处理工程篇-10-高级.doc
- 交通安全活动小结.doc
- 21、诺贝尔1.doc
- 寒暑假实践.doc
- 钢结构细化方案.docx
- SDL msc 通信实验.doc
- 概率论与数理统计五.pdf
- 2020年药事管理与法规题解析 .pdf
- 2017-2021年中国高速公路行业现状及发展趋势分析 .pdf
- 2012年电力工业发展报告 .pdf
- 贵州省贵阳市某区2022-2023学年八年级上学期期末语文试题(原卷版).docx
- 河北省沧州市2022-2023学年八年级上学期期末语文试题(解析版).docx
- 海南省省直辖县级行政单位2022-2023学年八年级上学期期末语文试题(原卷版).docx
- 海南省东方市2022-2023学年九年级上学期期末语文试题(原卷版).docx
- 河北省邯郸市锦玉中学2022-2023学年八年级上学期期末语文试题(解析版).docx
- 海南省海口市(部分校)2022-2023学年八年级上学期期末语文试题(A)(原卷版).docx
- 河北省保定市第十七中学2022-2023学年八年级上学期期末语文试题(原卷版).docx
文档评论(0)