c语言基础文件处理篇fopen_s,fclose,feof,fgets,fputs。

编译器:VS2022

学习文件处理函数之前,首先要理解一个概念:流(stream)

流是一个动态的概念,可以将一个字节形象比喻成一滴水,字节在设备,文件,程序之间的传输就是流,类似于水在管道中的传输。

如何创建流?FILE* fp        FILE是c语言中的一个特殊字节,就像char int 一样,FILE创建出来的变量就是流,并且FILEC创建出来的fp一定是要指针类型*fp。文件的指针指向文件的每一次,文件的读和写都要用到。

文件处理形式:缓存区与非缓存区

缓存文件系统

C语言中I/O操作就是控制字节一进一出,如果让cpu没输出一个字节,让磁盘写入一次,将会十分耗时。采用缓存区可以有效缓解这种矛盾,在内存中开辟一块专门的内存区域,当cpu写出的字节积攒到一定数量,在一次性写入磁盘。当从磁盘读入数据,也在内存中开辟一块区域,一次性从磁盘读入一块数据到缓存区,让cpu慢慢取用。这就是缓存区的作用。这个过程由电脑自动完成,无需程序员操作。

非缓存文件系统

非缓存文件系统指系统不为文件自动开辟缓存区,但程序设计人员可以自行开辟。

如何开辟?可以仿造缓存文件系统,例如创建数组char arr[100]。

这个数组就等于在内存开辟一块缓冲区。

创建数组(开辟缓存区)——打开/创建文件——写入文件(缓存区的内容写入文件)——关闭文件。

文件的打开与关闭

r        打开一个文件,只能读。

w       创建一个文件,只能写。

a        打开一个文件,只能在尾部添加。     

r+       打开一个文件,可读可写。

w+      创建一个文件,可读可写。

a+       打开一个文件,只能在尾部添加,可读可写。 

rb        只读,为输入打开一个二进制文件

wb       只写,未输出创建一个二进制文件

用于打开文件fopen_s()

函数原型:errno_t _cdel fopens_s(FILE**_stream,char*_filename,const char *_mode);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值