C语言之文件操作

本文详细介绍了C语言中文件的使用方式,包括不同模式如r,w,a等的含义,以及文件的顺序读写函数如fgetc,fputc,fgets,fputs,fscanf,fprintf,fread和fwrite的用法。此外,还讨论了文件指针的移动(fseek)和位置检查(ftell),以及如何正确判断文件读取的结束,强调了feof函数的正确使用方法。
摘要由CSDN通过智能技术生成

1、文件的使用方式

文件使用方式含义如果指定函数不存在
“r”(只读)为了输入数据打开一个已经存在的文本文件出错
“w”(只写)为了输出数据,打开一个文本文件建立一个新的文件
“a”(追加)向文本文件尾添加数据建立一个新的文件
“rb”(只读)为了输入数据打开一个二进制文件出错
“wb”(只写)为了输出数据打开一个二进制文件建立一个新的文件
“ab”(追加)向一个二进制文件尾添加数据出错
“r+”(读写)为了读和写,打开一个文本文件出错
“w+”(读写)为了读和写,建立一个新文件建立一个新的文件
“a+”(读写)打开一个文件,在文件尾进行读写建立一个新的文件
“rb+”(读写)为了读和写打开一个二进制文件出错
“wb+”(读写)为了读和写,新建一个新的二进制文件建立一个新的文件

“ab+”(读写)

打开一个二进制文件,在文件尾进行读写建立一个新的文件

2、文件的顺序读写

功能函数名适用于
字符输入函数fgetc所有输入流
字符输出函数fputc所有输出流
文本行输入函数fgets所有输入流
文本行输出函数fputs所有输出流
格式化输入函数fscanf所有输入流
格式化输出函数fprintf所有输出流
二进制输入fread文件
二进制输出fwrite文件

fputc和fgetc的用法:

 

 fputs和fgets的用法:

 

fprintf和fscanf的用法:

 

 

fwrite和fread的用法:

 

 

 其实,C语言程序只要运行起来就默认打开了三个流:

stdin - 标准输入流 - 键盘

stdout - 标准输出流 - 屏幕

stderr - 标准输出流 - 屏幕

基本用法如下:

 sprintf和sscanf的用法:

3、文件的随机读写

 (1)调整文件指针的位置 - fseek函数

 SEEK_CUR代表从头开始找,SEEK_END代表从尾开始找。

(2)返回文件指针相对于起始位置的偏移量 - ftell函数

 (3)让文件指针回到起始位置 - rewind函数

 4、文件读取结束的判定

fgetc函数在读取结束的时候,会返回EOF,正常读取的时候,返回的是读取到的字符的ASCLL码值。

fgets函数在读取结束的时候,会返回BULL,正常读取时,返回存放字符串的空间起始位置。

fread函数在读取的时候,返回的是实际取到的完整元素的个数,如果发现读取到的完整的元素个数小于指定的元素个数,这就是最后一次读取了。

被错误使用的feof函数:

牢记:在文件的读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束。而是用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束。

具体用法如下:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苏醒醒苏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值