我们知道,对fprintf或fwrite之类的函数的调用不会立即将数据写入磁盘,而是将数据缓冲到达到阈值为止.我的问题是,如果我调用fseek函数,这些缓冲的数据是否会在寻求新位置之前写入磁盘?还是数据仍在缓冲区中,并被写入新位置?
程
解决方法:
我不知道缓冲区是否保证要刷新,如果您寻找到足够近的位置则可能不会.但是,无法将缓冲的数据写入新位置.缓冲只是一种优化,因此必须透明.
2024-03-17 23:37:04
我们知道,对fprintf或fwrite之类的函数的调用不会立即将数据写入磁盘,而是将数据缓冲到达到阈值为止.我的问题是,如果我调用fseek函数,这些缓冲的数据是否会在寻求新位置之前写入磁盘?还是数据仍在缓冲区中,并被写入新位置?
程
解决方法:
我不知道缓冲区是否保证要刷新,如果您寻找到足够近的位置则可能不会.但是,无法将缓冲的数据写入新位置.缓冲只是一种优化,因此必须透明.