一起talk C栗子吧(第一百四十二回:C语言实例--文件操作:基于文件指针二)


各位看官们,大家好,上一回中咱们说的是基于文件指针进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk C栗子吧!

看官们,我们在上一回中介绍了文件指针,今天我们将和大家一起看看如何通过文件指针来操作文件。文件操作仍然使用我们总结的文件操作三步曲:打开,操作和关闭。我们将使用标准库中的函数来实现这些文件操作。接下来我们介绍标准库中与文件操作相关的函数。

打开文件的函数

FILE *fopen(const char *path, const char *mode);
  • 该函数用来打开文件或者创建一个新文件;
  • 该函数的第一个参数是文件名,该文件名表示要打开的文件或者创建的文件;
  • 该函数的第二个参数是打开文件的方式,详见下面的说明;
  • 该函数运行成功时返回一个非空的文件指针;运行失败时返回NULL。

第二个参数是字符串,它的值可以是以下类型中的任意一个:

  • “r”(只读的方式打开文件),
  • “w”(只写的方式打开文件,并且把文件长度设置为0,如果文件不存在就创建文件),
  • “a”(只写的方式打开文件,数据追加在文件末尾), ”r+”(以读和写的文件打开文件),
  • ”w+”(以读和写的文件打开文件,并且把文件长度设置为0),
  • “a+”(以读和写的方式打开文件,数据追加在文件末尾),

操作文件的函数

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
  • 该函数用来从文件中读取数据;
  • 该函数的第一个参数是指向缓冲区的指针,从文件中读取的数据会存放到该指针指向的缓冲区中;
  • 该函数的第二个参数是每次读取数据的大小;
  • 该函数的第三个参数是读取数据的次数,它与第二个参数的积就是一共读取的数据大小;
  • 该函数的第四个参数是文件指针,它会读取该文件指针所指向的的文件中的数据;
  • 该函数运行成功时返回读取到数据的数量,通常与第三个参数的值相等,如果到了文件末尾时会小于该值,或者为0。如果运行失败会把失败信息写入到标准错误流中.可以使用ferror()函数查看错误信息。
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
  • 该函数用来向文件中写入数据;
  • 该函数的第一个参数是指向缓冲区的指针,它会把缓冲区中的数据写入到文件中;
  • 该函数的第二个参数是每次写入数据的大小;
  • 该函数的第三个参数是写入数据的次数,它与第二个参数的积就是一共写入的数据大小;
  • 该函数的第四个参数是文件指针,它会把数据写入到该指针所指向的的文件中;
  • 该函数运行成功时返回写入数据的数量,通常与第三个参数的值相等,如果返回的值小于该值,或者为0, 那么就表示发生了错误。同时会把失败信息写入到标准错误流中,可以使用ferror()函数查看错误信息。

关闭文件的函数

int fclose(FILE *fp)
  • 该函数用来关闭文件;
  • 该函数的参数表示文件指针,它会把与该文件指针所指的文件关闭掉,同时关闭文件流。
  • 该函数运行成功时返回0,运行失败时返回-1.同时设置全局变量error。

各位看官,关于文件操作:基于文件指针的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值