Pregunta

En sistemas POSIX, el miembro st_blksize de la estructura stat contiene el tamaño de bloque óptima para IO para un archivo dado. Parece que las implementaciones Win32 de stat (_stat y _stat64) no son compatibles con este campo. ¿Cuál es la forma equivalente de Win32 para determinar la óptima IO tamaño de bloque de un archivo o sistema de ficheros dado?

¿Fue útil?

Solución

No estoy seguro si esto siempre devolverá el número óptimo, pero la llamada Win32 GetDiskFreeSpace devoluciones, entre otras cosas, lpBytesPerSector y lpSectorsPerCluster; multiplicar aquellos para obtener el bytes por cluster que es (quizás) un valor razonable para el uso como un tamaño de búfer.

Esta llamada no se aplica a los archivos, sino más bien los sistemas de archivos, por lo que tendría que averiguar qué raíz de las vidas de archivos antes de usarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top