C语言:文件

本文介绍了C语言中文件的定义,包括数据文件和程序文件类型,以及文本文件和二进制文件的区别。详细讲解了文件操作,如打开、读写(顺序与随机)、关闭等,通过示例展示了fopen、fputc、fgetc、fputs、fgets、fscanf和fprintf等函数的使用方法。
摘要由CSDN通过智能技术生成

        相信学习C语言的同学,对"文件"这一节都有一种熟悉的陌生感,几乎翻书时次次看见它,等到老师讲它时,却又迷迷糊糊的听不懂,接下来,让我们利用这篇博客,来加深对它的认识。

 一、文件的定义

       从文件功能方向来分类,文件分为数据文件和程序文件,它们都是储存在硬盘上的。而数据文件又被分为文本文件和二进制文件。所谓文本文件,就是文件以ASCII码形式存储在外存上;所谓二进制文件,就是文件以二进制的形式存储在外存上(二进制文件我们肉眼是看不懂的)。程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。

二、文件的操作

          简单的了解了文件的定义后,让我们一起来认识和文件有关的一些操作。对于文件的操作,就像我们日常的生活一样,当然也是有一定的规律的。

1、打开文件 

我们需要利用fopen函数来打开文件,并用文件指针来接受fopen的返回值(后续操作会用到)

注意fopen函数的最后一个参数mode,代表文件的打开模式,文件的打开模式有以下几种:

接下来,我们便使用fopen来打开一个文件,文件名称由我们自己规定:

这样,我们便很好的打开了一个test.txt文件:

 2、读、写文件 

在读写文件操作中,有着很多函数,都需要我们一一去了解,并且学会使用。

读写操作分为顺序读写和随机读写。

我们先来看顺序读写:

fputc为一个字符一个字符的写数据(输出)到文件中:

\

接下来,用vs2022来演示数据输出到文件中:

数据便很好的写到了我们的test.txt文件中。

同理,fgetc为一个字符一个字符的从文件中读取数据:

演示如下:

数据便很好的从文件中读取出来。

fputs为向文件中输出一行字符串:

代码演示如下:

我们便向文件中很好的输出了一行字符串。

fgets为向文件中读取一行数据:

此函数中参数较多,大家可查看各参数含义:

代码演示如下:

我们便从文件中很好的读取到了这一行数据。

对于fscanf函数以及fprintf函数,我们可以和scanf、printf函数比较,这样利于我们的理解。

对比可见,scanf函数和fscanf函数参数大同小异,只是第一个参数多了一个文件指针,printf函数和fprintf函数也是如此。

接下来,让我们来演示这两个函数的使用:

1.fprintf:

2.fscanf:

如上。

关于fread、fwrite二进制输入输出函数这里便不再讨论。

我们再来看文件的随机读写:

fseek函数可以帮助我们将鼠标光标移动到我们所要读写数据的位置处,来方便我们的读写操作。

根据⽂件指针的位置和偏移量来定位⽂件指针。

fseek函数的各参数含义如下:

offset代表我们要到达的位置相对于当前位置的偏移量

SEEK_SET   代表文件的起始位置

SEEK_CUR  代表文件的当前位置

SEEK_END  代表文件的最后位置

演示如下:

如上,我们可以很好的控制光标所在位置。

还有一些函数,如ftell ,返回⽂件指针相对于起始位置的偏移量。rewind 让⽂件指针的位置回到⽂件的起始位置。我们这里便不再一一演示。

 3、关闭文件

在文件使用完后,我们要关闭文件。

代码:

fclose(pf);

pf = NULL;

       以上便是这篇博客的全部内容,主要总结了关于文件的一些基本定义和操作,欢迎大家在评论区一起讨论~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值