- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10 文件
C 语言程序设计;第10章 文件;文件:存储在外部存储介质上相关数据的集合。
例如:程序文件中保存着程序,数据文件中保存着数据。
*.C C语言的源程序 文本文件
*.OBJ 目标文件 二进制文件
*.EXE 可执行文件 二进制文件
文件的存储特性
文件是一个有序的数据序列。C语言把文件作为一个字符(字节)序列处理,对文件的存取是以字符(字节)为单位进行的。 ;设备文件
在C语言中,“文件”的概念被进一步扩大,把每台与主机相连的输入输出设备都看作是一个文件。即把实际的物理设备抽象为逻辑文件,它们被称为设备文件。
对外部设备的输入输出就是对设备文件的读写。 ;按文件存储数据的形式
? ASCII文件(或称文本文件)
ASCII码文件中每个字节存放一个ASCII代码,代表一个字符,此种存储形式便于输出显示,在DOS操作系统下可以直接阅读。
? 二进制文件
二进制文件中的数据是按照在内存中的二进制存储格式存放的,此种存储形式节省存储单元。二进制文件在DOS操作系统下不能直接阅读。;例如将整数1949分别存储在这两种数据文件中。;按照对文件的处理方式
? 缓冲文件
利用缓冲文件系统处理的文件称为缓冲文件。系统处理方法是在内存中为每个正在使用的缓冲文件开辟一个缓冲区,其大小是512个字节。对文件读写数据都通过缓冲区进行。
? 非缓冲文件
利用非缓冲文件系统处理的文件称为非缓冲文件。系统处理非缓冲文件时,不为文件开辟缓冲区,需要程序员自行设计并管理缓冲区。 ; 系统对文件的处理过程就是对文件进行输入/输出操作的过程。
从文件读数据时,先一次性从磁盘文件中读取一批数据到缓冲区,然后再从缓冲区逐个将数据送入变量。
向文件写数据时,也是先将变量中数据送到缓冲区,待缓冲区装满后,再一起存到磁盘文件中。;10.1 文件的概述; 标准文件是外部设备中的三个特殊的设备文件。它们的文件指针是系统定义的,并由系统自动打开和关闭。这三个标准文件分别是:
① 标准输入文件,文件指针为stdin,系统指定为键盘。
② 标准输??文件,文件指针为stdout,系统指定为显示器。
③ 标准错误输出文件,文件指针为stderr,系统指定为显示器,输出错误信息。;10.1 文件的概述;常用的调用形式:
FILE *fp;
fp = fopen(文件名, 文件使用方式);
文件名:需要打开的文件名称(字符串)。
文件使用方式:是具有特定含义的符号。;文本文件的三种基本使用方式
”r”:只读方式
为读(输入)文本文件打开文件。若文件不存在,返回NULL。
”w”:只写方式
为写(输出)文本文件打开文件。若文件不存在,则建立一个新文件;若文件已存在,则清空文件。
”a”:追加方式
为写(输出)文本文件打开文件。若文件已存在,则保持原来文件的内容,将新的数据增加到原来数据的后面;若文件不存在,则返回NULL。;二进制文件的三种基本使用方式
”rb”:只读方式
为读(输入)二进制文件打开文件。若文件不存在,返回NULL。
”wb”:只写方式
为写(输出)二进制文件打开文件。若文件不存在,则建立一个新文件;若文件已存在,则清空文件。
”ab”:追加方式
为写(输出)二进制文件打开文件。若文件已存在,则保持原来文件的内容,将新的数据增加到原来数据的后面;若文件不存在,则返回NULL。;10.1 文件的概述 ;检查文件打开操作是否成功
if((fp = fopen(filename, r)) == NULL)
{ printf (”Cannot open file.\n”);
exit(0);
}
检查以只读方式打开文件名为filename的文件是否成功。
exit函数的作用:结束程序的执行,并将实参0作为函数返回值传给操作系统。
;常用的调用形式:
FILE *fp;
fclose( fp );
fp:已经打开的文件指针。;常用的调用形式:
FILE *fp;
fputc( ch,fp );
ch:需要输出的字符,可以是字符常量或字符变量;
fp:文件指针变量。;常用的调用形式:
FILE *fp;
ch = fgetc(fp);
ch:可以是字符变量或整型变量;
fp:文件指针变量。;【例10.1】利用fputc和fgetc函数
您可能关注的文档
最近下载
- APQC的流程分类框架 (PCF) - 跨行业- PDF中文 V7.4.pdf VIP
- 执业药师继续教育《零售药店执业药师如何开展药学服务》习题答案.docx VIP
- 聚合支付发展前景分析.pptx VIP
- 2025年高考英语考试大纲.docx VIP
- 探索非物质文化遗产在短视频平台上的创新传播与传承方式.pdf
- 肛瘘的诊治专家共识(2020版).pdf VIP
- 教师职业生涯规划讲课教案课件(1).pptx VIP
- Hopewind禾望HV510系列高性能变频器用户手册.pdf
- TCMSS-合规管理 成熟度评价指南及编制说明.pdf VIP
- 用人单位职业病危害风险分级管控与隐患排查治理.pptx VIP
文档评论(0)