C语言文件操作详解
创作时间:
作者:
@小白创作中心
C语言文件操作详解
引用
CSDN
1.
https://blog.csdn.net/qq_59527512/article/details/136782816
C语言文件操作
头文件
在进行C语言文件操作之前,需要包含标准输入输出头文件:
#include <stdio.h>
打开、创建文件
使用fopen()
函数来打开或创建文件。该函数运行后会产生一个文件指针(FILE *指针名)。
函数原型:
FILE *fopen(const char *filename, const char *mode);
参数说明:
参数1(filename):
填入相对路径(在工作路径找)及文件名加后缀
填入绝对路径(路径+文件名+后缀)
参数2(mode):
"r":只读方式打开文件,文件必须存在。
"w":只写方式打开文件,如果文件存在则清空,不存在则创建。
"a":追加方式打开文件,写入的数据会被添加到文件末尾,不存在则创建。
"r+":读写方式打开文件,文件必须存在。
"w+":读写方式打开文件,如果文件存在则清空,不存在则创建。
"a+":读写追加方式打开文件,不存在则创建。
示例代码:
#include <stdio.h>
int main(){
FILE *fp = fopen("example.txt", "a+");
if (fp == NULL)
{
perror("文件格式错误");
return -1;
}
}
关闭文件
使用fclose()
函数来关闭一个已经打开的文件。关闭文件可以释放系统资源,确保数据正确写入。关闭成功会返回一个0。
函数原型:
int fclose(FILE *stream);
文件的读写
- fputc() 或 putc():写一个字符到文件
- fgetc() 或 getc():从文件读取一个字符。错误返回EOF(End Of File)
- 由于fgetc()和getc()都会移动文件指针,所以连续调用这两个函数会依次读取文件中的下一个字符。
- fputs():写一个字符串到文件。
- fgets():从文件读取一个字符串。错误返回NULL
函数原型:
char *fgets(char *str, int n, FILE *stream);
参数说明:
- str:指向一个字符数组的指针,该数组用于存储从文件流中读取的字符串。
- n:要读取的最大字符数(包括最后的空字符 \0)。这意味着fgets()最多会读取n-1个字符,然后在末尾添加一个空字符来终止字符串。
- stream:指向文件流的指针,该文件流应该是以读取模式打开的。
文本中字符位置指针
- fseek():根据文件指针的当前位置移动到文件中的指定位置。
函数原型:
int fseek(FILE *stream, long int offset, int whence);
参数说明:
stream:指向文件流的指针,这个文件流应该是已经打开的。
offset:要移动的偏移量,以字节为单位。如果是正数,文件指针向前移动;如果是负数,文件指针向后移动。
whence:定义了偏移量的起始点,可以是以下三个宏之一:
SEEK_SET:文件的开始。
SEEK_CUR:文件指针的当前位置。
SEEK_END:文件的末尾。
ftell():返回文件指针的当前位置。
rewind():将文件指针重置到文件的开始位置。
热门推荐
超简单5分钟凉拌三丝,味道竟比肉还香!
地暖管材质:PP-R、PE-X、PE-RT和PB的优劣分析
项目经理如何保持廉洁自律
楼上毛坯房漏水到楼下是谁的责任?如何维护房屋安全
有限公司认缴出资额是什么意思
电动自行车牌照上前面后面怎么看
达沃斯论坛:全球农业如何应对水资源短缺与粮食需求增加的双重挑战
面对面普法 绷紧防范未成年人帮信犯罪之弦
炎症看c反应蛋白还是白细胞
减脂不吃糖,增肌可以吃糖吗?糖分摄入的科学指南
从一个人到一家子:黎锦技艺传承人“赶时髦”
徐杰教授:语言学理论的两种嬗变模式与新旧理论之间的关系
李俊峰:建议光伏发电项目给地方留下1毛钱/度收益
计及光伏电站快速无功响应特性的分布式电源优化配置方法(Matlab代码实现)
公司的一般账户与基本账户有什么区别
儿童补充“维生素D”那些事
2025年不动产投资趋势:三大痛点与三大机遇
命宫化科入夫妻宫是谁有桃花
紫微斗数夫妻宫右弼化科:婚姻与贵人的星象解析
脑梗塞患者感冒发烧时的用药指南
重庆城市发展新纪元:千亿投资引领万亿市场
英国本科成绩如何换算成美国标准
鲁迅诗词里的春天:从个人情感到家国情怀
张衡:古代科学家及其杰出发明
全新升级!武汉汉口火车站网约车候车区,让出行变得更简单!
综应和申论的区别解析:应用能力测评与申论考察侧重点对比
父母去世后家里财产怎么处理
PloS One、Scientific Report等巨型期刊到底是个什么东西?
孙俪三部待播强势回归,三年半没新戏二搭罗晋,预备夺回剧王
洛杉矶湖人 vs 密尔沃基雄鹿前瞻:焦点对决与状态对比