解决方法
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 举报,一经查实,本站将立刻删除。