关于关闭文件的操作函数fclose()
来源:互联网 发布:中国自大 知乎 编辑:程序博客网 时间:2024/06/06 01:28
这两天学习到对文件的操作,对于文件的标准操作流程是:
用fopen()这个函数打开文件,之后通过fopen()返回的指针对文件进行读写操作,操作完成之后调用fcolse()的函数来关闭文件。
但是不知道大家注意到没有,关闭文件函数fclose(),要求传入的只是文件的指针,假设是fp,在函数的内部可能通过传入的这个指针实现了对通过fopen分配的内存进行释放以及把文件缓冲区的内容写入文件,但是并不能在函数内部对fp赋空,这样在释放掉通过fopen()分配的内存后,FILE* 类型的指针fp也就成为了一个野指针。
fclose( fp )已经close了文件,释放掉了 fp 所指的内存,fp 却没有被赋空,fp 也就成了一个野指针!
不知道为什么标准库函数会这么设计,我猜想也许是因为一些历史原因,那些大师们应该不会犯这样的错误!
以上只是我个人的见解,若有什么地方理解错误,欢迎指出!
- 关于关闭文件的操作函数fclose()
- fopen(),fclose()文件打开关闭函数
- C语言fclose()函数:关闭文件流
- C_文件(2)关于fclose函数
- 文件操作 fopen fclose
- 有关文件的操作 fopen/fwriite/fseek/ftell/fread/fclose等函数的使用方法
- 一个文件操作的简单程序:关于文件的fopen、fread、fseek、ftell、fclose等操作(FIFO related)
- 一个文件操作的简单程序:关于文件的fopen、fread、fseek、ftell、fclose等操作(FIFO related)
- fclose关闭stdout的问题
- C语言的fclose()函数
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose() 等C语言文件操作函数
- C++文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法
- C文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法
- linux c语言之文件操作相关函数--fopen(),fopen_s(),fread(),fwrite(),fclose(),
- 文件打开,关闭,读,写fopen,fclose,fscanf,fprintf
- C++中关于文件操作的函数
- 关于文件操作的API函数
- 关于文件操作的API函数
- 关于dual表,很诡异的一张表,大家对他操作时尽量小心
- 设计模式之适配器模式
- 整数划分(计数+划分显示)
- 如何通过sql更新视图!
- Linux-epoll
- 关于关闭文件的操作函数fclose()
- 什么是模式?什么是框架?
- tar排除指定目录
- Android线程间通信的Message机制
- 约瑟夫环算法
- JavaScript:Select标签
- VS2005下如何新建一个WINCE设备的DLL工程
- pku2891(很经典,很难的 中国剩余定理)
- 大型网站性能优化的通用方法