qq_37335168 2022-05-18 10:09 采纳率: 84%
浏览 33
已结题

如何理解C 语言中fclose(char * filename)是关闭文件,清除缓冲区,释放文件占用的内存?

这里的缓冲区不是在内存里面吗?读写文件实际是向缓冲区中读写吧?释放的内存应该就是建立缓冲区时的内存吧?

  • 写回答

2条回答 默认 最新

  • 山河君 新星创作者: 学术研究与理论基础技术领域 2022-05-18 11:08
    关注

    读取磁盘里的文件时,需要申请资源例如文件描述符,文件独占权限,读写权限等等的东西,而对文件进行读写的并不是直接对文件进行操作,而是先将读写的内容写入缓冲区,再由缓冲区刷新到文件中。所以在close的时候需要先清除缓冲区,再释放文件资源

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月18日