关于关闭文件的操作函数fclose()

     这两天学习到对文件的操作,对于文件的标准操作流程是:

     用fopen()这个函数打开文件,之后通过fopen()返回的指针对文件进行读写操作,操作完成之后调用fcolse()的函数来关闭文件。

 

     但是不知道大家注意到没有,关闭文件函数fclose(),要求传入的只是文件的指针,假设是fp,在函数的内部可能通过传入的这个指针实现了对通过fopen分配的内存进行释放以及把文件缓冲区的内容写入文件,但是并不能在函数内部对fp赋空,这样在释放掉通过fopen()分配的内存后,FILE* 类型的指针fp也就成为了一个野指针。

    

     fclose( fp )已经close了文件,释放掉了 fp  所指的内存,fp 却没有被赋空,fp 也就成了一个野指针!

 

    不知道为什么标准库函数会这么设计,我猜想也许是因为一些历史原因,那些大师们应该不会犯这样的错误!

 

    

 

    以上只是我个人的见解,若有什么地方理解错误,欢迎指出!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值