如果我有一个C代码
off_t off = ftello(f);
fseeko(f, some_location);
// do some work
fseeko(off);
第二个fseeko和第一个一样慢吗?我认为文件块总是被缓存的,所以第二个文件块可能会更快。
在Linux上的性能分析结果中,第二个fseek的开销与此类似。这是意料之中的吗?
根据
SafeFileHandle属性自动刷新流并将当前流位置设置为0。这允许使用此属性返回的SafeFileHandle将文件移动或由另一个流重置流位置。
但是,我的测试似乎表明流的位置没有改变。
考虑以下代码:
using System;
using System.IO;
namespace Demo
{
internal static class Program
{
public static void Main()
{
Directory.CreateDirectory("C:\\TEST"