微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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和男子关闭

原文地址:https://www.jb51.cc/c/119370.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐