C语言第20天笔记

文件操作

概述

什么是 文件

文件时保存在外存储器上(一般代指磁盘,也可以是U盘、移动硬盘等)的数据的集合。

文件操作体现在哪几个方面

  1. 文件内容的读取

  2. 文件内容的写入

数据的读取和写入可被视为针对文件进行输入和输出的操作,此时数据就像水流一样从外存 储器流向内存,或者从内存流向外存储器,所以系统形象的称文件操作为文件流。

C语言程序对文件的操作采用"文件缓冲机制"。就是说在程序中对文件的数据读写并不是直接 操作文件中的数据,而是系统会为文件在内存中创建"文件缓冲区",程序对文件的操作,其实是在 缓冲区进行的。

文件的分类

根据数据的存储方式划分:

  1. 文本文件(ASCII文件)

  2. 二进制文件

文件标识

  1. 文件系统中:路径+文件名,举例: d:/aaa/bbb.txt

  2. C语言程序中:文件指针(文件类型指针),语法: FILE *指针变量名

文件操作的步骤:

  1. 打开文件

  2. 文件处理(读写文件)

  3. 关闭文件 文件的操作 打开文件,让系统为文件创建文件缓冲区;

函数名:fopen

头文件: #include

函数原型: FILE* fopen(const char *path,const char *mode);

函数功能:打开文件,并为文件创建缓冲区

函数参数: path:目标文件的路径

mode:文件打开的方式(读-r、写-w、读写-rw)

返回值:

成功:返回文件指针 File* (缓冲区首地址)

失败:返回NULL 文件关闭,文件使用完毕,一定要记得释放

函数名:fclose

头文件: #include

函数原型: int fclose(FILE* fp);

函数功能:关闭文件,释放缓冲区

函数参数: fp:已经打开的文件指针

返回值:

成功:返回0

失败:返回EOF(-1)

文件打开与关闭案例

cs 复制代码
/**
* 文件的打开与关闭
*/
#include <stdio.h>
int main(int argc,char** argv)
{
// 在命令行执行./a.out的时候,传递一个需要打开的目标文件的地址
if(argc < 2)
{
printf("输入有误,请按照<%s 文件路径>格式输入\n",argv[0]);
return -1;
}
// 根据提供的文件路径,打开文件,mode(r,w,rw)
FILE* fp = fopen(argv[1],"r");
// 校验文件是否读取成功
if(!fp)
{
perror("文件打开失败!");
return -1;
}
puts("文件打开成功!");
// 关闭打开的文件
int ret = fclose(fp);
// 校验文件是否关闭成功(很多时候这一步会省略掉)
if(ret == -1)
{
perror("文件关闭失败!");
return -1;
}
puts("文件关闭成功!");
return 0;
}
相关推荐
致***锌5 分钟前
上证50ETF期权的交易时间是什么时候?
笔记
thginWalker6 分钟前
图解网络-小林coding笔记(持续更新)
网络·笔记
草堂春睡足2 小时前
【Datawhale AI夏令营】科大讯飞AI大赛(大模型技术)/夏令营:让AI理解列车排期表
人工智能·笔记
Olrookie3 小时前
若依前后端分离版学习笔记(一)——本地部署
笔记·后端·开源
##echo4 小时前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
我爱学嵌入式7 小时前
C语言第 9 天学习笔记:数组(二维数组与字符数组)
c语言·笔记·学习
_Kayo_15 小时前
VUE2 学习笔记6 vue数据监测原理
vue.js·笔记·学习
使二颗心免于哀伤17 小时前
《设计模式之禅》笔记摘录 - 10.装饰模式
笔记·设计模式
悠哉悠哉愿意17 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
岩中竹18 小时前
广东省省考备考——常识:科技常识(持续更新)
笔记