打开文件进行写入后:
FILE *file = fopen("./file", "w");
我可以假设文件是立即创建的吗?打电话是否安全:
stat( "./file", info);
或者我应该更好:
fflush(file);
或者
fclose(file);
预先?
编辑:在 fopen 调用后假设非 NULL 文件
如果模式是 w、wb、a、ab、w+、wb+、w+b、a+、ab+ 或 a+b,并且文件以前不存在,则在成功完成后,fopen() 函数将标记更新文件的 st_atime、st_ctime 和 st_mtime 字段以及父目录的 st_ctime 和 st_mtime 字段。
所以我认为在 fopen 调用成功后对文件进行统计是安全的。
是的,从逻辑上讲,我们可以做到。由于打开文件以写入只读文件系统失败。这表明 fopen()/open() 进行了必需的检查。其他确认的方法是通过打开与open() 的 O_EXCL 标志类似的 x文件。