Fla*_*ash 7 c posix file file-descriptor
如果我fopen一个文件,什么叫之间的区别fclose还是close我应该使用哪一个?
如果分叉的孩子也可以访问该文件,他们完成文件后应该怎么做?
Gan*_*har 10
fclose()是与文件流相关的功能.当您在帮助下打开文件fopen()并将流分配给FILE *ptr.然后,您将使用fclose()关闭打开的文件.
close()是与文件描述符相关的函数.在帮助下打开文件open()并将描述符分配给int fd.然后,您将使用close()关闭打开的文件.
像的功能fopen(),fclose()等等是C标准功能,而其它类别open(),close()等等是POSIX特定的.这意味着代码书面open(),close()等不是标准的C代码,并因此非便携式的.而用编写的代码fopen(),fclose等等是一个标准的代码,并且可以在任何类型的系统被移植.
我应该使用哪一个?
这取决于您打开文件的方式.如果您打开一个文件fopen(),您应该使用fclose(),如果您打开文件open(),您应该使用close().
如果分叉的孩子也可以访问该文件,他们完成文件后应该怎么做?
这还取决于您fork()拨打电话的位置:打开文件之前或打开文件之后.
见:man fclose和man close