- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FILE;结构类型命名16华中科技大学计算机学院C语言-多库文档.ppt
第11章 文件的输入与输出; 本章介绍文件概念及其相关术语、C语言输入输出的实现方法、流的概念和流式文件的输入和输出、文本文件的输入输出和二进制文件的输入输出、文件的顺序输入输出和文件的随机输入输出。
对输入输出的低层接口、文件在数据库和汉字显示方面的应用、流式文件库函数的设计也做了相应的介绍。 ;重点讲解; 本章讨论关于计算机的存储器与I/O设备之间数据交换的程序设计问题。; 基于操作系统的软件系统是将一组应用相关的数据构成一个逻辑单位,存储在外部存储器之中的。这个逻辑单位被称为文件,以文件名加以标识。; 第一类文本格式:将文件数据区的每个字节解释为一个字符,回车符‘\n’ 解释为行结束标志(回车符之间的符号串称为一行)。; 如果将内存数据按文本文件存储到外存中,则 C 语言通常需要将内存数据按指定格式转换成字符形式。; 如果当将内存多个数据写入文本文件的时候,特别注意的是:在两个数据之间增加必的间隔符。目的在于读文本文件时,能够保证获得数据转换的正确性。; C 语言是将键盘、显示器和打印机设备视同为文本文件进行处理的。对于输出设备显示器和打印机,遇到输出回车符时,便换行显示或打印。; 第二类二进制格式:文件数据区仅按每个二进制位解释为0或1。这种格式的文件称为二进制文件。二进制文件是以二进制数字0/1序列形式存储数据的文件。; C语言对文件的读写提供有两种方式:顺序读写和随机读写。
无论那种读写方式,文件采用一个文件读写指针记录对于文件的当前读写位置,并在一次读写后自动向文件尾方向移动。; 00110010 顺序读写方式:打开文件时文件读写指针指向文件头或文件尾,读写一个 “数据” 后,读写指针自动指向下一个 “数据” 或文件尾。程序无法修改文件读写指针,文件指针始终往文件尾方向移动。; 标准I/O函数是基于I/O流的操作。流是从源点到终点方向流动的数据。文件是“存储”在I/O设备上的数据的抽象;流是内存与I/O设备之间流动的数据的抽象。实现时,流存储在I/O缓冲区中。;11.2 FILE指针和标???流式文件 ; _streams[]是在头文件stdio.h中定义的、由系统创建、赋值和更新FILE类型的数组变量,其数组元素个数是由系统宏定义的、可同时打开的文件数目。;_streams[];11.3 流式文件的顺序输入输出 ; 可以选择的文件打开方式mode如下。其中,r表示只读,w表示只写,a表示添加,+表示更新,b表示二进制文件。
如果文件打开方式中不含有 “b” ,则表示以文本格式打开。创建文件时,如果创建文件已经存在,则内容被清空。 ; 文件关闭函数fclose()声明如下,功能是关闭stream文件指针 “指向”的文件,返回值0表示正确执行,EOF表示出错。
int _Cdecl fclose(FILE *stream);; 例11.3 文件打开、关闭、以及读写操作举例。文件以文本文件格式创建,以二进制文件的形式读取,目的是观察文本文件在磁盘中的存储方式。 ;11.3.2 文件的重定向;void main(int argc, char* argv[]){
int ch;
if(argc!=3){printf(Arguments error!\n);exit(-1);}
if(freopen(argv[1],r,stdin)==NULL){
/* stdin指向source_file */
printf(Cant open %s file!\n,argv[1]);exit(-1);
}
freopen(argv[2],w,stdout); /* stdout指向target_file */
while((ch=getchar())!=EOF) /* 从source_file中读字符 */
putchar(ch); /* 向target_file中写字符,实现拷贝复制 */
fclose(stdin); /* 关闭source_file */
fclose(stdout); /* 关闭target_file */
};11.3.3 基于字符的文件读/写 ;int fgetc(FILE *stream)函数 ;int _fgetc(FILE *stream)函数、 ;11.3.4 基于字符串的文件读/写 ;char * gets(char *s)函数 ;11.3.5 文件的格式读/写 ;11.3.6
您可能关注的文档
最近下载
- 突发公共卫生事件应急处置预案专业知识培训.ppt
- 脑出血进展与指南解读白色ppt课件.ppt
- DB33酸性土壤改良技术规范.pdf
- 上海牛津(全国版)一年级英语上册《期末测试卷(二)》.doc
- 高中政治课程中跨学科融合的研究教学研究课题报告.docx
- 华为认证智能协作中级HCIP-CollaborationH11-861考试题及答案 (2).pdf
- 2023版29490-2023企业知识产权合规管理体系管理手册及全套程序文件.docx
- OMRON欧姆龙健康血压计血压计J7136说明书用户手册.pdf
- DB13_T 5414-2021 气瓶追溯管理系统规范.docx
- 第三讲把人民放在心中最高位置(课件)+学生读本高年级学生读本.pptx
文档评论(0)