前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C语言】文件操作(上)

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

作者头像
修修修也
发布2024-04-01 15:04:24
610
发布2024-04-01 15:04:24
举报
文章被收录于专栏:修也的进阶日记

一.什么是文件

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

二.文件的打开与关闭

1.文件指针

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

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

代码语言:javascript
复制
FILE* pf;
//pf即为文件指针变量

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

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

2.文件的打开

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

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

代码语言:javascript
复制
FILE * fopen ( const char * filename, const char * mode );
//fopen()函数的函数定义

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

代码语言:javascript
复制
FILE*pf=fopen("test.txt","r");

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

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

代码语言:javascript
复制
if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}

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

3.文件的关闭

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

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

代码语言:javascript
复制
int fclose ( FILE * stream );
//fclose()函数的函数定义

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

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

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

代码语言:javascript
复制
fclose(pf);

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

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

代码语言:javascript
复制
pf=NULL:

三.文件的顺序读写

功能

函数名

适用于

字符输入函数

fgetc

所有输入流

字符输出函数

fputc

所有输出流

文本行输入函数

fgets

所有输入流

文本行输出函数

fputs

所有输出流

格式化输入函数

fscanf

所有输入流

格式化输出函数

fprintf

所有输出流

二进制输入

fread

文件

二进制输出

fwrite

文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.什么是文件
  • 二.文件的打开与关闭
    • 1.文件指针
      • 2.文件的打开
        • 3.文件的关闭
        • 三.文件的顺序读写
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档