教学内容学习情境导入C文件概述文件指针类型文件打开文件关闭文件字符输入输出函数学习情境导入在日常的程序设计中,我们经常要将程序的输出结果输出到某一文件中,或者从文件向程序读取数据,如何使用C语言来完成文件的读写呢写入读取C程序文件磁盘C文件概述文件(file):存储在外部介质上的数据的集合.
操作系统是以文件为单位对数据进行管理的.
在程序运行时,常常需要将一些数据输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机内存.
这就要用到磁盘文件.
windows下每个文件对应的四项参数:文件名、大小、类型、修改时间C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成.
根据数据的组织形式,可分为ASCII文件(文本文件)和二进制文件.
各类文件特点如int型数100000010011100010000内存存储形式0010011100010000二进制形式0011000100110000001100000011000000110000ASCII形式文本文件特点:存储量大、速度慢、便于对字符操作二进制文件特点:存储量小、速度快、便于存放中间结果文件结构体文件结构体FILE缓冲文件系统为每个正使用的文件在内存开辟文件信息区文件信息用系统定义的名为FILE的结构体描述FILE定义在stdio.
h中typedefstruct{int_fd;文件号int_cleft;//缓冲区中剩下的字符数int_mode;//文件操作方式char*_next;//文件当前读写位置char*_buff;//文件缓冲区位置}FILE;文件类型指针指针变量说明:FILE*fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件文件关闭后,它的文件结构体被释放文件名文件使用方式文件类型指针C程序操作系统磁盘文件的打开对文件读写之前应该"打开"该文件,在使用结束之后应"关闭"该文件.
ANSIC规定了标准输入输出函数库,用fopen()函数来实现打开文件.
调用方式为:FILE*fp;fp=fopen(文件名,使用文件方式);例如:fp=fopen("a1","r");在打开一个文件时,通知给编译系统以下3个信息:需要打开的文件名,也就是准备访问的文件的名字.
使用文件的方式("读"还是"写"等).
让哪一个指针变量指向被打开的文件.
文件的打开方式在文件末尾添加建立新文件读取/追加(二进制文件)"ab+"文件原有内容丢失建立新文件写入/读取(二进制文件)"wb+"正常打开出错读取/写入(二进制文件)"rb+"在文件末尾添加建立新文件读取/追加(文本文件)"a+"文件原有内容丢失建立新文件写入/读取(文本文件)"w+"正常打开出错读取/写入(文本文件)"r+"在文件末尾添加建立新文件追加(二进制文件)"ab"文件原有内容丢失建立新文件写入(二进制文件)"wb"正常打开出错读取(二进制文件)"rb"在文件末尾添加建立新文件追加(文本文件)"a"文件原有内容丢失建立新文件写入(文本文件)"w"正常打开正常打开读取(文本文件)"r"当指定文件存在当文件不存在含义mode文件打开出错原因如果不能实现"打开"的任务,fopen函数将会带回一个出错信息.
此时fopen函数将带回一个空指针值NULL.
出错的原因可能是:用"r"方式打开一个并不存在的文件;磁盘出故障;磁盘已满无法建立新文件等.
文件的关闭在使用完一个文件后应"关闭"该文件,以防止它再被误用.
"关闭"就是使文件指针变量不指向该文件,此后不能再通过该指针对原来与其相联系的文件进行读写操作.
ANSIC规定了标准输入输出函数库,用fclose()函数关闭文件.
调用方式为:fp=fclose(文件指针);例如:fclose(fp);在程序终止之前应关闭所有文件,否则将会丢失数据.
fclose函数带回一个值:当顺利地执行了关闭操作,则返回值为0;否则返回-1.
可以用ferror函数来测试.
六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,宿母鸡等,另外也诚招代理欢迎咨询。官网www.61cloud.net最新直销劲爆...
俄罗斯vps速度怎么样?俄罗斯vps云主机节点是欧洲十大节点之一,地处俄罗斯首都莫斯科,网络带宽辐射周边欧洲大陆,10G专线连通德国法兰克福、法国巴黎、意大利米兰等,向外连接全球。俄罗斯vps云主机速度快吗、延迟多少?由于俄罗斯数据中心出口带宽充足,俄罗斯vps云主机到全球各地的延迟、速度相对来说都不错。今天,云服务器网(yuntue.com)小编介绍一下俄罗斯vps速度及俄罗斯vps主机推荐!俄...
pacificrack发布了7月最新vps优惠,新款促销便宜vps采用的是魔方管理,也就是PR-M系列。提一下有意思的是这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10,当然啦,常规Linux系统是必不可少的!1Gbps带宽、KVM虚拟、纯SSD raid10、自家QN机房洛杉矶数据中心...支持PayPal、...