文件打开与关闭

gzip文件怎么打开  时间:2021-01-19  阅读:()

教学内容学习情境导入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函数来测试.

HaBangNet(6.95美元/月)美国vps 5TB流量/德国vps 香港双向CN2 GIA VPS

HaBangNet支持支付宝和微信支付,只是价格偏贵,之前国内用户并不多。这次HaBangNet推出三个特价套餐,其中美国机房和德国机房价格也还可以,但是香港机房虽然是双向CN2 GIA线路,但是还是贵的惊人,需要美国和德国机房的可以参考下。HaBangNet是一家成立于2014年的香港IDC商家,中文译名:哈邦网络公司,主营中国香港、新加坡、澳大利亚、荷兰、美国、德国机房的虚拟主机、vps、专用...

BuyVM迈阿密KVM上线,AMD Ryzen 3900X+NVMe硬盘$2/月起

BuyVM在昨天宣布上线了第四个数据中心产品:迈阿密,基于KVM架构的VPS主机,采用AMD Ryzen 3900X CPU,DDR4内存,NVMe硬盘,1Gbps带宽,不限制流量方式,最低$2/月起,支持Linux或者Windows操作系统。这是一家成立于2010年的国外主机商,提供基于KVM架构的VPS产品,数据中心除了新上的迈阿密外还包括美国拉斯维加斯、新泽西和卢森堡等,主机均为1Gbps带...

SugarHosts糖果主机六折 云服务器五折

也有在上个月介绍到糖果主机商12周年的促销活动,我有看到不少的朋友还是选择他们家的香港虚拟主机和美国虚拟主机比较多,同时有一个网友有联系到推荐入门的个人网站主机,最后建议他选择糖果主机的迷你主机方案,适合单个站点的。这次商家又推出所谓的秋季活动促销,这里一并整理看看这个服务商在秋季活动中有哪些值得选择的主机方案,比如虚拟主机最低可以享受六折,云服务器可以享受五折优惠。 官网地址:糖果主机秋季活动促...

gzip文件怎么打开为你推荐
vpsvps和服务器哪个比较划算虚拟主机代理紧急寻求好的虚拟主机代理商英文域名中文域名和英文域名的区别? 越详细越好网站域名网站域名是什么查询ip如何查IP网址域名备案域名备案需要什么域名备案域名怎么备案香港虚拟空间香港虚拟空间 好不、现在还有人买嘛网站空间价格普通的网站空间要多少钱一年香港虚拟主机香港的虚拟主机好不好,如何选择虚拟主机?
com域名注册1元 免费域名解析 新加坡主机 la域名 韩国电信 lamp配置 本网站服务器在美国 免费mysql 新天域互联 工作站服务器 网游服务器 香港新世界中心 免费网页申请 免费mysql数据库 阿里云官方网站 带宽租赁 中国电信测速网站 东莞主机托管 免费蓝钻 hdchina 更多