文件的顺序读写

文件读写函数介绍

文件顺序读写函数
函数名功能适用于
fputc
字符输出函数
所有输出流
fgetc
字符输⼊函数
所有输⼊流
fputs
⽂本⾏输出函数
所有输出流
fgets
⽂本⾏输⼊函数
所有输⼊流
fprintf
格式化输出函数
所有输出流
fscanf
格式化输⼊函数
所有输⼊流
fwrite
⼆进制输出
⽂件
fread
⼆进制输⼊
⽂件
上⾯说的适⽤于所有输⼊流⼀般指适⽤于标准输⼊流和其他输⼊流(如⽂件输⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(如⽂件输出流)。

fputc函数和fgetc函数

fputc函数

函数的返回值以及参数格式如下:

该函数为字符写入函数,写入的对象为文件,第一个参数是要写入文件的字符,第二个参数是文件指针。若写入成功,则返回值为写入成功的字符的ASCII码值,若失败,则返回EOF。

fputc函数的具体使用方法如下:

当文件打开后,需要判断文件是否打开成功,当文件使用结束后,必须关闭文件

文件内容和输出结果为:

fgetc函数

函数的返回值以及参数格式如下:

该函数为字符读取函数,只需要接受一个参数,即文件指针。若读取成功,则返回值为文件中的第一个字符,随后光标往后移动,下次读取时,为文件中的第二个字符,以此类推。当文件发生错误或文件结束时,返回EOF。

fgetc函数的具体使用方法如下:

在while循环中,当文件没有发生错误或者文件结束时,输出字符并继续读取,直到碰到文件发生错误或者文件结束,读取结束。

文件内容和输出结果为:

fputs函数和fgets函数

fputs函数

函数的返回值以及参数格式如下:

该函数为字符串写入函数,写入的对象同样为文件,函数的第一个参数为包含写入数据的字符串的地址,第二个参数为文件指针。若写入成功,则返回非负值,若失败,则返回EOF。

fputs函数的具体使用方法如下:

用一个整型变量接受函数的返回值并输出,查看是否写入成功。

文件内容和输出结果为:

fgets函数

函数的返回值以及参数格式如下:

该函数为文件字符串读取函数,包含3个参数,第1个参数为存放读取数据的字符串的地址,第2个参数为最多读取的字符个数,第3个参数为文件指针。当读取成功时,返回存放数据的字符串的地址,若读取失败,返回空指针。

fgets函数的具体使用方法如下:

创建一个字符指针用来接受函数返回值,判断是否读取成功。

文件内容和输出结果为:

fprintf函数和fscanf函数

fprintf函数

fprintf函数的返回值以及参数格式如下:

printf函数的返回值以及参数格式如下:

fprintf函数与printf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用printf函数,那使用fprintf函数也不成问题。

fprintf函数的具体使用方法如下:

可以看到,该函数除了多出来一个文件指针的参数,使用方法与printf函数并无太大区别。

文件内容和输出结果为:

fscanf函数

fscanf函数的返回值以及参数格式如下:

scanf函数的返回值以及参数格式如下:

同样,fscanf函数与scanf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用scanf函数,那使用fscanf函数也不成问题。

fscanf函数的具体使用方法如下:

可以看到,该函数除了多出来一个文件指针的参数,使用方法与scanf函数并无太大区别。

文件内容和输出结果为:

fwrite函数和fread函数

与前面的文件操作函数不同,fwrite函数和fread函数是针对二进制文件的。

fwrite函数

函数的返回值以及参数格式如下:

该函数为二进制文件写入函数,包含4个参数,第1个参数为包含数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功写入的元素个数。

fwrite函数的具体使用方法如下:

可以看到,我们创建一个变量用来接收fwrite函数的返回值,查看是否写入成功。

文件内容和输出结果为:

由于文件是二进制文件,因此文件内容是不可见的。

fread函数

函数的返回值以及参数格式如下:

该函数为二进制文件读取函数,包含4个参数,第1个参数为接受数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功读取的元素个数。

fread函数的具体使用方法如下:

通过循环的方式,我们可以在不知道文件中数据个数的时候,将文件中的数据一个个读取出来。

文件内容和输出结果为:

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值