- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第14讲 文件操作 本讲主要内容 文件的概念 文件类型指针 文件的打开与关闭 文件的读写 问题:x=10,y=x+3,y=? a=10 a=10; 制定算法 输入 计算 执行指令 保存程序 输出 程序执行过程 暂存数据 磁盘读写 14.1 文件的概念 文件(file):记录在磁盘上的数据集合,以文件名作为访问标识 类型 按文件所依附的介质来分:有磁盘文件、磁带文件等 按文件内容区分:源程序文件、目标文件、数据文件等 按数据编码格式区分:数据文件可分为ASCII码文件和二进制文件 ASCII码文件:又称为“文本文件”(text),其每一个字节存放一个ASCII码。优点:可编辑性好 二进制文件:又称“内存映像”文件,文件中每个数据格式与其在内存中存储结构相同。优点:节省存储空间 缓冲文件系统:操作系统在内存中为每一个正在使用的文件开辟一个读写缓冲区,又称为高级文件系统 非缓冲文件系统:操作系统不开辟读写缓冲区。由用户来开辟,称为低级文件系统 §14.2 文件类型指针 应用程序调用缓存文件系统中的某文件,需要以下信息 与该文件对应的内存缓冲区的地址 缓冲区中未被处理的字符串 文件操作方式等 文件当前的读写位置 缓冲文件系统会为每个文件设立一个“文件信息区”,在stdio.h中,它被定义为FILE类型数据 typedef struct { int _fd; //文件号 int _cleft; // 缓冲区中剩下的字节数 int _mode; // 文件操作模式 char * _nextc; //下一个字节的位置 char * _buff; //文件缓冲区位置 } FILE; §14.3 文件的打开与关闭 磁盘文件操作的3部曲 先打开 后读写 最后关闭 打开文件:以某种方式从磁盘上查找或创建指定文件,并获取该文件的FILE类型数据 FILE *fopen(const char *filename,const char *mode;) 其中,filename: 文件名;mode: 打开方式见下表,FILE *:返回值 如:FILE *fp; fp=fopen(“file1.txt”, “r”); 如果成功打开,返回一个指向被打开文件的文件信息区的起始地址;如果打开失败,返回一个NULL指针 §14.3 文件的打开与关闭 文件打开方式 含义 r(只读) 为输入打开一个文本文件 w(只写) 为输出打开一个文本文件 a(追加) 为追加打开一个文本文件 rb(只读) 为输入打开一个二进制文件 wb(只写) 为输出打开一个二进制文件 ab(追加) 为追加打开一个二进制文件 r+(读写) 为读/写打开一个文本文件(已有) w+(读写) 为读/写创建一个文本文件(能创建) a+(读写) 为读/写打开一个文本文件 rb+(读写) 为读/写打开一个二进制文件 wb+(读写) 为读/写创建一个二进制文件 ab+(读写) 为读/写打开一个二进制文件 §14.3 文件的打开与关闭 关闭文件的作用: (1)使文件指针fp与文件脱离 (2)刷新文件输入/输出缓冲区 关闭方法: fclose(fp); §14.4 文件的读写 fputc()/fgetc() int fputc(int c, FILE *fp); 把字符c写入文件fp,成功时返回字符c的ASCII码.失败时返回EOF(在stdio.h中,符号常量EOF的值等于-1) int fgetc(FILE *fp); 从文件fp中读1个字符,返回读得的字符。对文本文件,遇文件尾时返回EOF(文件打开方式是读或读写) 对于二进制文件,可以用feof(fp) 判别是否遇文件尾。feof(fp)=1说明遇文件尾 从文本文件test.txt中顺序读入内容,并在屏幕上显示出来 从键盘输入一些字符,逐个把它们写入磁盘文件,直到输入#为止 例、将一个磁盘文件的内容复制到另一个磁盘文件 §14.4 文件的读写 fread()读文件(块读) size_t fread(void *buffer, size_t size, size_t count, FILE *fp); 从文件fp中读入count次、每次读size字节、读入的信息存在buffer缓冲区。函数返回值等于实际读入的次数(可能少于count)。失败返回0 fwrite()写文件(块写) size_t fwrite(void *buffer, size_t size, size_t count, FILE *fp); 将buffer中的信息、写入count次、每次写size字节至文件fp中。函数返回值等于实际写入的次数(可能少于
您可能关注的文档
- 华南师范《模拟电子电路》06、07年模电试卷.doc
- 华南师范大学《电磁学与光学》《电磁场与电磁波》2010试题.doc
- 华南师范《模拟电子电路》模拟电子技术试题及答案.doc
- 华南师范大学《电磁学与光学》06级电磁学与光学样卷.doc
- 华南师范大学《电磁学与光学》08级电磁波试题样卷.doc
- 华南师范大学《电磁学与光学》08级试题样卷.doc
- 华南师范大学《电磁学与光学》第1章矢量分析.ppt
- 华南师范大学《电磁学与光学》第2章电磁学基本理论.ppt
- 华南师范大学《电磁学与光学》第3章媒质的电磁性质和边界条件.ppt
- 华南师范《模拟电子电路》2012模电各章重点内容及总复习.doc
- 黄永峰《程序设计教学》第11讲指针(上).ppt
- 黄永峰《程序设计教学》第10讲数组(下).ppt
- 黄永峰《程序设计教学》课外阅读之6--在VC2008中创建和使用静态链接库方法8.pdf
- 黄永峰《程序设计教学》课外阅读之8-main()函数参数.pdf
- 黄永峰《程序设计教学》第15讲 课程总结.ppt
- 黄永峰《程序设计教学》课外阅读之四--条件编译.docx
- 黄永峰《程序设计教学》课外阅读资料之7-内存分配函数malloc.pdf
- 黄永峰《程序设计教学》课外阅读资料之二--变量的匈牙利命名法.pdf
- 黄永峰《面向对象的程序设计》C++库函数.doc
- 黄永峰《面向对象的程序设计》第2讲 类和对象(中).ppt
文档评论(0)