文件指针

打开文件时,Windows 会将 文件指针与默认流关联。 此文件指针是一个 64 位偏移值,指定要读取的下一个字节,或指定要接收下一个字节写入的位置。 每次打开文件时,系统都会将文件指针放在文件的开头,该文件偏移量为零。 每次读取和写入作都会通过读取和写入的字节数来提升文件指针。 例如,如果文件指针位于文件的开头,并且请求读取作 5 个字节,则文件指针将在读取作后立即位于偏移量 5 处。 读取或写入每个字节时,系统将推进文件指针。 还可以通过调用 SetFilePointer 函数来重新定位文件指针。

当文件指针到达文件的末尾并且应用程序尝试从文件读取时,不会发生错误,但不会读取任何字节。 因此,在没有错误的情况下读取零字节意味着应用程序已到达文件的末尾。 写入零个字节不执行任何作。

应用程序可以使用 SetEndOfFile 函数截断或扩展文件。 此函数将文件的末尾设置为文件指针的当前位置。