fclose和close之间的区别

如果我打开一个文件,调用fclose或close之间有什么区别?我应该使用哪一个

如果分叉的孩子也可以访问该文件,他们完成文件后应该怎么做?

解决方法

fclose()是与文件流相关的函数.在fopen()的帮助下打开文件并将流分配给FILE * ptr.然后,您将使用fclose()关闭打开的文件.

close()是与文件描述符相关的函数.在open()的帮助下打开文件并将描述符赋值给int fd.然后,您将使用close()关闭打开的文件.

fopen(),fclose()等函数是C标准函数,而open(),close()等其他类别是POSIX特有的.这意味着用open(),close()等编写的代码不是标准的C代码,因此是不可移植的.用fopen(),fclose等编写的代码是标准代码,可以移植到任何类型的系统上.

which one should I use?

这取决于您打开文件的方式.如果使用fopen()打开文件,则应使用fclose(),如果使用open()打开文件,则应使用close().

If forked children have access to the file as well,what should they do when they are finished with the file?

这也取决于你在fork()调用的位置:打开文件之前或打开文件之后.

见:Are file descriptors shared when fork()ing?

见:男子fclose和男子关闭

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...