fwrite函数只是将所写内容存入用户缓存,并不立刻写入文件.
fflush函数将用户缓存中的内容写入内核缓冲区
fsync函数则是将内核缓冲写入文件
fclose则先执行fflush,再关闭文件的读写.
因此,如果使用fwrite,要想让数据立刻落地,必须使用fflush(fp);fsync(fileno(fp))才可以!
fwrite函数只是将所写内容存入用户缓存,并不立刻写入文件.
fflush函数将用户缓存中的内容写入内核缓冲区
fsync函数则是将内核缓冲写入文件
fclose则先执行fflush,再关闭文件的读写.
因此,如果使用fwrite,要想让数据立刻落地,必须使用fflush(fp);fsync(fileno(fp))才可以!