- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序的设计第10章对文件的输入输出[精].ppt
C语言程序设计;第10章 对文件的输入输出;10.1 C文件的有关基本知识;10.1.1 什么是文件;10.1.1 什么是文件;10.1.1 什么是文件;10.1.1 什么是文件;10.1.2 文件名;10.1.2 文件名;10.1.2 文件名;10.1.2 文件名;10.1.2 文件名;10.1.3 文件的分类;10.1.3 文件的分类;10.1.3 文件的分类;10.1.4 文件缓冲区;10.1.4 文件缓冲区;10.1.4 文件缓冲区;10.1.4 文件缓冲区;10.1.5 文件类型指针;10.1.5 文件类型指针;10.1.5 文件类型指针;10.2 打开与关闭文件;10.2.1 用fopen函数打开数据文件;10.2.1 用fopen函数打开数据文件;10.2.1 用fopen函数打开数据文件;10.2.1 用fopen函数打开数据文件;10.2.1 用fopen函数打开数据文件;说明:
(1) 用“r”方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在,并存有数据,这样程序才能从文件中读数据。
不能用“r”方式打开一个并不存在的文件,否则出错。;说明:
(2) 用“w”方式打开的文件只能用于向该文件写数据(即输出文件),而不能用来向计算机输入。
如果原来不存在该文件,则在打开文件前新建立一个以指定的名字命名的文件。
如果原来已存在一个以该文件名命名的文件,则在打开文件前先将该文件删去,然后重新建立一个新文件。;说明:
(3) 如果希望向文件末尾添加新的数据(不希望删除原有数据),则应该用“a”方式打开
但此时应保证该文件已存在;否则将得到出错信息。
打开文件时,文件读写标记移到文件末尾;说明:
(4) 用r+、w+、a+方式打开的文件既可以用来输入数据,也可以用来输出数据。
用r+方式时该文件应该已经存在。
用w+方式则新建立一个文件,先向此文件写数据,然后可以读此文件中的数据。
用a+方式打开的文件,原来的文件不被删去,文件读写位置标记移到文件末尾,可以添加,也可以读。;说明:
(5) 如果打开失败,fopen函数将会带回一个出错信息。fopen函数将带回一个空指针值NULL
常用下面的方法打开一个文件:
if ((fp=fopen(“file1”,’r″))==NULL)
{
printf(“cannot open this file\n”);
exit(0);
};说明:
(6) C标准建议用表10.1列出的文件使用方式打开文本文件或二进制文件,但目前使用的有些C编译系统可能不完全提供所有这些功能;说明:
(7) 计算机输从ASCII文件读入字符时,遇到回车换行符,系统把它转换为一个换行符,在输出时把换行符转换成为回车和换行两个字符。在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一对应。;说明:
(8) 程序中可以使用3个标准的流文件:标准输入流、标准输出流、标准出错输出流。
系统已对这3个文件指定了与终端的对应关系
标准输入流是从终端的输入
标准输出流是向终端的输出
标准出错输出流是当程序出错时将出错信息发送到终端;程序开始运行时系统自动打开这3个标准流文件。因此,程序编写者不需要在程序中用fopen函数打开它们。所以以前我们用到的从终端输入或输出到终端都不需要打开终端文件。;10.2.2 用fclose函数关闭数据文件;10.3 顺序读写数据文件;10.3 顺序读写数据文件;10.3.1 怎样向文件读写字符; 例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。
解题思路:用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件即可。;#include stdio.h
#include stdlib.h
int main()
{ FILE *fp;
char ch,filename[10];
printf(请输入所用的文件名:);
scanf(%s,filename);
if((fp=fopen(filename,“w”))==NULL)
{ printf(无法打开此文件\n);
exit(0);
}
ch=getchar( );
; printf(“请输入一个字符串(以#结束):);
ch=getchar( );
while(ch!=‘#’)
{ fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(‘\n’);
您可能关注的文档
- C#程序的设计第1章C#语法基础.ppt
- C#程序的设计第2章操作字符串.ppt
- C#程序的设计第3章面向对象的程序的设计.ppt
- C#程序的设计第4章面向对象的高级特性.ppt
- C#程序的设计第5章Windows应用程序.ppt
- C#程序的设计第7章使用LINQ访问数据.ppt
- C#程序设计第6章使用ADO.NET相关管理数据.ppt
- C#网络编程技术知识教程第一章C#.NET概述.ppt
- C#网络编程技术知识教程第七章FTP编程.ppt
- C#网络编程技术知识教程第三章C#面向对象编程.ppt
- 奔驰培训资料CLS车型介绍 中文.pdf
- 中国石化集团四川维尼纶厂醋酸乙烯酯生产分厂项目7-能量衡算说明书.doc
- 中国石化集团四川维尼纶厂醋酸乙烯酯生产分厂项目8-物料衡算说明书.doc
- 《汽车机修》教学课件3、第三章、汽车发动机构造和工作原理.pdf
- 2018化学战剂中毒的现场处置-wuqh.pdf
- 白车身设计GD&T简单培训.pdf
- 2021年全国优秀技术经理维修案例-高压电系统-7583744-德州华运-张作村.pdf
- 奔驰培训资料ME 9.7 KE发动机控制系统 中文.pdf
- 镇海炼化硫磺回收制二硫化碳生产项目大气污染估算报告(硫芳百世).docx
- 《汽车机修》教学课件15、第十五章、转向系统的构造原理与鼓掌检修.pdf
文档评论(0)