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():将文件指针重置到文件的开始位置。
热门推荐
《莫尼山》:一首蒙古族经典歌曲的艺术魅力
牙齿正确咀嚼方法 咀嚼食物的正确方式
新食品原料——蓝莓花色苷的健康功效
2025十大适合摆地摊赚钱的创业项目
提升跨地域数据同步的效率
喹诺酮三剑客:药物特性大揭秘
对 ADHD 的现代理解:超越传统观点
自动锁车功能的设置方法是什么?自动锁车功能的安全性和便利性如何?
地表水总磷和总氮的检测标准
高跟鞋:历史与现代趋势
10000是什么电话号码?
张雪峰谈2026双一流大学:哪些高校在人才培养上独具特色?
如何区分不同股票代码的含义?这些代码在投资中有何作用?
合理设置文件夹权限,确保数据安全与隐私保护的实用指南
春天的景象怎么写?写出春天最美妙的细节和意境!
去银川旅游吃什么好 银川旅游美食推荐
退休人员劳动关系的问题一般是怎么处理的
一款充电式LED维修工作灯电路解析与故障排除
追寻匈奴的足迹:从古至今的民族融合
如何在预算内挑选最优机械手表?
重庆市职工退休金计算方法是什么?
药到病除:儿童发烧知多点
如何进行软件产品的人机交互优化
如何系统分析国内外研究现状及发展趋势?
号角砺忠魂 甘泉映赤心 当代青年学习的楷模——记志愿军战士、一等功臣李其寿
吲哚美辛的功效与作用
摩托车对于男人来说意味着什么?
鹏程万里:一个成语背后的远大志向
春节期间,广东深化"讲心不讲金"移风易俗获广泛响应
美国著名建筑之-独立大厅