在Posix系统上,stat结构的st_blksize成员包含给定文件的IO的最佳块大小。看起来stat(_stat& _stat64)的Win32实现不支持此字段。什么是确定给定文件或文件系统的最佳IO块大小的Win32等效方法?
答案 0 :(得分:2)
我不确定这是否总会返回最佳数字,但Win32调用GetDiskFreeSpace
会返回lpBytesPerSector
和lpSectorsPerCluster
;乘以那些来获得每个簇的字节数,这可能是一个合理的值,用作缓冲区大小。
此调用不适用于文件,而是适用于文件系统,因此在使用文件之前,您必须弄清楚文件的根目录。