C语言:文件函数 fopen(),fclose(),fwrite(),fread()

本文详细介绍了C语言中文件操作的基础知识,包括文件的打开、读取、写入及关闭等核心函数的使用方法。同时列举了多种文件操作模式及其含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件打开函数:fopen
fopen函数是在当前目录下打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式); 
ex:
FILE *fr = fopen(srcpath,"r");
FILE *fw = fopen(despath,"w");

FILE *fr =fopen("c:\\1.test","rb");
其意义是打开C驱动器磁盘的根目录下的文件1.test,两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。

在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
断言:assert(fw != NULL)

关闭文件函数:fclose 

可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
与 FILE *fp = fopen("", "");相对应。

返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1).


文件写入函数:fwrite

fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。

函数原型:
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);   
-- buffer:指向数据块的指针  
-- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4)  
-- count:数据个数  
-- stream:文件指针

注意:返回值随着调用格式的不同而不同:

(1) 调用格式:fwrite(buf,sizeof(buf),1,fp);成功写入返回值为1(即count)

(2)调用格式:fwrite(buf,1,sizeof(buf),fp);成功写入则返回实际写入的数据个数(单位为Byte)


文件读取函数:fread

函数原型: fread(void *buffer,size_t size,size_t count,FILE *stream);

返回值:读取的元素的个数


使用文件的方式共有12种,下面给出了它们的符号和意义:
1."r" = "rt"
打开一个文本文件,文件必须存在,只允许读

2."r+" = "rt+"
打开一个文本文件,文件必须存在,允许读写

3."rb"
打开一个二进制文件,文件必须存在,只允许读

4.“rb+”
打开一个二进制文件,文件必须存在,允许读写

5."w" = “wt”
新建一个文本文件,已存在的文件将被删除,只允许写

6."w+" = "wt+"
新建一个文本文件,已存在的文件将被删除,允许读写

7.“wb”
新建一个二进制文件,已存在的文件将被删除,只允许写

8.“wb+”
新建一个二进制文件,已存在的文件将被删除,允许读写

9."a" = "at"
打开或新建一个文本文件,只允许在文件末尾追写

10."a+" = "at+"
打开或新建一个文本文件,可以读,但只允许在文件末尾追写

11.“ab”
打开或新建一个二进制文件,只允许在文件末尾追写

12.“ab+”
打开或新建一个二进制文件,可以读,但只允许在文件末尾追写

文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): 文本文件,可省略不写
b(binary): 二进制文件
+: 读和写


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值