- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 对文件的输入输出综述
第10章 对文件的输入输出;10.1 C文件的有关基本知识;10.1.1 什么是文件;10.1.1 什么是文件;10.1.1 什么是文件;10.1.1 什么是文件;10.1.1 什么是文件;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=getc
您可能关注的文档
最近下载
- 安全管理人员初复训考核试卷含答案.doc
- 多模态大模型在金融行业的实践和展望-2024年全球人工智能与大模型开发与应用.pdf
- 电子商务测试题+参考答案.docx VIP
- 2024年江苏省南京市中考历史试题卷(含答案).docx
- 数独的社交互动:与朋友一起挑战数独.pptx VIP
- 大理州经济技术开发区“2.16”建筑施工生产安全事故调查报告警示学习教育.pptx
- 2017年高考全国2卷理综试题(Word版含答案).pdf
- 医疗服务公司医疗旅游服务合作协议.docx
- 人工智能技术在高中语文教学中的实践与应用研究教学研究课题报告.docx
- 山西大学《生物化学》内部题库练习期末真题汇编及答案.docx
文档评论(0)