fclose和close之间的区别

前端之家收集整理的这篇文章主要介绍了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&C++相关文章