当前位置: 首页 > news >正文

【C语言】文件操作(上)

一.什么是文件

文件是磁盘上的文件,文件中存放的数据不随程序的退出而销毁.


二.文件的打开与关闭

1.文件指针

每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是有系统声明的,取名FILE.

下面演示用C语言创建一个文件指针变量:

FILE* pf;
//pf即为文件指针变量

定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。

也就是说,通过文件指针变量能够找到与它关联的文件.


2.文件的打开

文件在读写之前应该先打开文件.

ANSIC规定使用fopen()函数来打开文件:

FILE * fopen ( const char * filename, const char * mode );
//fopen()函数的函数定义

我们用c语言演示一下用fopen()函数以读的方式打开一个名为"test.txt"的文件:

FILE*pf=fopen("test.txt","r");

 下面我们需要判断文件是否打开成功,如果打开失败,则不能再进行后续操作,而需要及时检查错误.

演示一下判断文件是否成功,如果失败,则用perror()函数输出错误信息后终止程序:

if (pf == NULL){perror("fopen");return 1;}

如果成功,则继续运行后续操作.

3.文件的关闭

文件在使用结束后应该关闭文件.

ANSIC规定使用fclose()函数来关闭文件:

int fclose ( FILE * stream );
//fclose()函数的函数定义

如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF。这个函数实际上,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。EOF 是一个定义在头文件 stdio.h 中的常量。

C 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。

下面演示一下使用fclose()函数关闭文件:

fclose(pf);

在使用fclose()函数关闭文件后,要记得将pf指针置为空指针,否则后续继续使用pf指针就会造成非法访问 .

下面的操作就是将pf置为空指针:

pf=NULL:

三.文件的顺序读写

文件读写相关函数

功能   

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

 

http://www.lryc.cn/news/164268.html

相关文章:

  • 【Linux】让笔记本发挥余热,Ubuntu20.04设置WiFi热点
  • 【云平台】遥感地信云平台收录
  • 23种设计模式之---单例模式
  • 蓝桥杯官网练习题(纸牌三角形)
  • 一辆新能源汽车的诞生之旅:比亚迪常州工厂探营
  • 【算法专题突破】双指针 - 最大连续1的个数 III(11)
  • java实现备忘录模式
  • aardio语言的通用数据表维护
  • 手写RPC框架--7.封装响应
  • Linux入门教程||Linux系统目录结构
  • LeetCode 88. 合并两个有序数组
  • C语言实现扫雷小游戏
  • 【linux基础(五)】Linux中的开发工具(上)---yum和vim
  • C++学习之list的实现
  • 一种高效且节约内存的聚合数据结构的实现
  • 机器学习(10)---特征选择
  • Python之数据库(MYSQL)连接
  • 【建站教程】使用阿里云服务器怎么搭建网站?
  • 【自然语言处理】关系抽取 —— MPDD 讲解
  • 深入理解JVM虚拟机第三篇:JVM的指令集架构模型和JVM的生命周期
  • [小尾巴 UI 组件库] 组件库配置与使用
  • Linux系统中fork()函数的理解
  • Linux网络编程:网络协议及网络传输的基本流程
  • 【大数据之Kafka】十、Kafka消费者工作流程
  • 如何确保ChatGPT的文本生成对特定行业术语的正确使用?
  • 行业追踪,2023-09-11
  • LVS + Keepalived群集
  • springboot将jar改成war
  • 从9.10拼多多笔试第四题产生的01背包感悟
  • 搭建自己的OCR服务,第一步:选择合适的开源OCR项目