【C】C语言处理文件读写

文件的概念

能够存储数据的存储设备叫做文件,文件通常存储到硬盘上。文件其实是一系列的字节。


文件中的位置

文件有开头和结尾,还有一个当前位置,通常定义为从文件头到当前位置有多少个字节。

当前位置就是发生文件操作(读写文件的动作)的地方。

新的当前位置可以指定为距离文件开头的偏移量,或在某些情况下,指定为从前一个当前位置算起的正或负偏移量。还可以把当前位置移到文件尾。


文件流

流是外部数据或数据目的地的抽象表示,所以键盘、显示器上的命令行和磁盘文件都是流。

将数据写入流(即磁盘文件)有两种方式。首先,可以将数据写入文本文件,此时数据写入为字符,这些字符组织为数据行,每一行都用换行符结束。其次,可以将数据写入二进制文件。无论将数据写入文本文件还是二进制文件,不论它们是什么样的数据,这些数据最终都是一系列字节。


文件访问

头文件<stdio.h>


打开文件


fopen()

原型:FILE *fopen(const char *restrict name,const char *restrict mode);

参数:第一个变元是字符串指针,它是要处理的外部文件名称,它包含了文件名称字符串的地址。第二个变元也是一个字符串,称为文件模式,它指定对文件进行什么处理。

返回值:如果成功调用,则返回一个File*类型的指针,否则返回NULL。

模式:"w"进行写入操作。如果文件存在,就删除其当前内容。

           "a"进行追加操作,写入的数据放在文件尾。

           "r"进行读取操作。


fopen_s()

原型:errno_t fopen_s(FILE *restrict *restrict pfile,const char *restrict name,const char *restrict mode)

参数:第一个参数是FILE结构指针的指针,所以把存储文件指针的FILE*变量地址传递为第一个变元。

返回值:如果正常,就返回0,否则返回非0整数。在后一种情况下,文件指针会设置为NULL。


缓存文件


setvbuf()

原型:int setvbuf(FILE *restrict pfile,char *restrict buffer,int mode,size_t size)

参数:第一个参数是打开文件的文件指针。第二个参数指

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值