C语言 文件操作

目录

文件与流的关系

[文件指针(File Pointer)](#文件指针(File Pointer))

文件的打开

文件的关闭


文件与流的关系

程序通过 文件打开 操作将流与设备联系起来,文件打开后,可
在程序和文件之间交换数据
由程序在磁盘上建立文件(建立文件)
文件打开后,通过写操作将数据存入该文件(写入数据)
由程序打开磁盘上的某个已有文件,通过读操作将文件中的数据读入
内存供程序使用(读取数据)
程序通过 文件关闭 操作断开流与文件的联系

文件指针(File Pointer)

C 程序中流的打开和关闭是通过文件指针实现的
文件指针的类型为 FILE *
FILE * fp ;
-- 定义了 FILE 型指针变量 *fp ,标识一个特定的磁盘文件
-- 与文件相关联的每个流都有一个 FILE 类型的控制结构,定义有关文件
操作的信息,用户绝对不应修改

文件的打开

格式: FILE *fopen(const char *filename, const
char *mode);
FILE *fp;
fp = fopen("test.txt", "r");
返回值 为指向此文件的指针 *fp
如果打开失败(文件损坏或不存在),返回值为 NULL
文件打开后一定要检查是否打开成功
if ( fp == NULL )
{ printf("Failure to open test.txt!\n");
exit(0);}
filename 是文件名
包含路径。如果不含路径,表示打开当前目录下的文件
fp = fopen("D: \n ewproject \t est.txt", "r");
编译器会将 '\ '看成转义字符,例如: \n\t 为此" \\"
fp = fopen("D: \\ newproject \\ test.txt", "r");
Windows 用反斜杠 \ 分割路径
UNIX 用斜杠 /


文件的关闭

格式: int fclose(FILE *fp);
把遗留在缓冲区中的数据写入文件,实施操作系统级的关闭操作
同时,释放与流联系的文件控制块FCB ,以便以后重复使用
fclose 函数的返回值
若成功执行了关闭操作,返回值为 0
否则返回为 非零值 ,表示关闭时有错误
例如:驱动器中无盘或盘空间不够时文件操作失败,文件关闭失败会
导致数据丢失、文件破坏,甚至程序出现随机错误
文件用完一定要关闭。
否则,可能引起数据丢失
甚至影响其他文件的打开
多数情况下,系统限制同时打开状态的文件总数。
因此,打开文件前先关闭无用文件是必要的。

相关推荐
susplus1 小时前
【传感器DS18B20】51单片机上实现温度采集
c语言·51单片机·ds18b20·温度采集
Logic1013 小时前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
山下梅子酒2253 小时前
洛谷-入门-B2043
c语言
幼儿园蛋小黑4 小时前
【无标题】C语言变量,类型转换,运算符,输入和输出
c语言·嵌入式实时数据库
Logic1017 小时前
C语言/数据结构位运算题解:异或XOR找出独特卡片数字——只出现一次的元素
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
代码王同学7 小时前
2026.9.15日C++类和对象学习收获笔记
c语言·c++
irislinAmelia7 小时前
Day11文章_多路视频流加权公平调度与令牌桶QoS
c语言·人工智能
云泽80821 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
ThornArmor21 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
T1mzhou21 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm