文件操作(上)

本文介绍了文件在程序设计中的分类,如程序文件、数据文件(二进制和文本),以及如何通过流和标准流(如stdin、stdout、stderr)进行文件操作,包括使用fopen和fclose进行文件的打开和关闭,以及不同模式的含义和示例。
摘要由CSDN通过智能技术生成

1.什么是文件?

在程序设计中,文件按照功能可以分为程序文件,数据文件。 

1.1  程序文件

 程序文件一般包括源程序文件(.c为后缀),目标文件(.obj)(linux系统是.o为后缀),可执行文件(.exe为后缀);

1.2  数据文件

一般指程序运行需要的从中获取数据的文件,或者程序输出内容,可供保存数据的文件。

根据数据的组织形式,有可将数据文件分为二进制文件和文本文件。

1.2.1 二进制文件

顾名思义就是该文件中的内容都是二进制的形式存在,在我们看来都是乱码,以下就是一份二进制文件。

1.2.2 文本文件

以ASCII字符存储的文件就是文本文件。

2.打开和关闭文件

2.1  “流”

在操作文件之前,我们要先了解一下“流”,我们程序的数据需要输出到各种外部设备,也需要

外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了方便程序员对各种设备进行方

便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。 C程序针对⽂件、画

⾯、键盘等的数据输⼊输出操作都是同流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从

流中读取数据,都是要打开流,然后操作。

2.2 标准流

C语言程序在启动的时候,默认打开了3个流:

• stdin - 标准输⼊流,在大多数的环境中从键盘输入。

• stdout - 标准输出流,大多数的环境中输出至显示器界面。

• stderr - 标准错误流,大多数环境中输出到显示器界面。

这是默认打开了这三个流,我们使用scanf、printf等函数就可以直接进行操作输入输出。

stdin、stdout、stderr三个流的类型是: FILE* ,通常称为文件指针。 C语言中,就是通过 FILE*

的文件指针来维护流的各种操作的。

2.3 打开和关闭文件

c语言中,我们在打开文件的时候,会使用FILE* 指针来指向要操作的文件,以此来建立指针变量和文件的关系。

ANSIC规定用fopen来打开文件,fclose来关闭文件。

以下是打开和关闭文件一些输入和读取方式:

⽂件使⽤⽅式含义 如果指定⽂件不存在
“r”(只读)为了输⼊数据,打开⼀个已经存在的⽂本⽂件出错
“w”(只写)为了输出数据,打开⼀个⽂本⽂件建立⼀个新的⽂件
“a”(追加)向⽂本⽂件尾添加数据建立⼀个新的⽂件
“rb”(只读)为了输⼊数据,打开⼀个⼆进制⽂件出错
“wb”(只写)为了输出数据,打开⼀个⼆进制⽂件建立⼀个新的⽂件
“ab”(追加)向⼀个⼆进制⽂件尾添加数据建立⼀个新的⽂件
“r+”(读写)为了读和写,打开⼀个⽂本⽂件出错
“w+”(读写)为了读和写,建议⼀个新的⽂件建立⼀个新的⽂件
“a+”(读写) 打开⼀个⽂件,在⽂件尾进⾏读写建立⼀个新的⽂件
“rb+”(读写)为了读和写打开⼀个⼆进制⽂件出错
“wb+”(读写)为了读和写,新建⼀个新的⼆进制⽂件建立⼀个新的⽂件
“ab+”(读写)打开⼀个⼆进制⽂件,在⽂件尾进⾏读和写建立⼀个新的⽂件

在这里我提供我个人的一些记忆方法:

1.只要是读取文件(r,r+,rb,rb+),指定文件一定要有,没有就会报错;

2.r--read,w--write,b--binary(二进制的),a-add(增加);

//代码示例

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a添砖Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值