fseek函数会刷新C缓冲区中的数据吗?

我们知道,对fprintf或fwrite之类的函数的调用不会立即将数据写入磁盘,而是将数据缓冲到达到阈值为止.我的问题是,如果我调用fseek函数,这些缓冲的数据是否会在寻求新位置之前写入磁盘?还是数据仍在缓冲区中,并被写入新位置?

解决方法:

我不知道缓冲区是否保证要刷新,如果您寻找到足够近的位置则可能不会.但是,无法将缓冲的数据写入新位置.缓冲只是一种优化,因此必须透明.

上一篇:C文件操作2:如何随机的进行文件读取?


下一篇:对大文件读写操作时谨慎使用fseek/lseek