Размер файла
Размер файла определить очень просто - достаточно вызвать функцию GetFileSize, прототип которой приведен ниже:
DWORD GetFileSize(
HANDLE hFile, // идентификатор файла
LPDWORD lpFileSizeHigh); // адрес старшего слова для
// размера файла
Функция GetFileSize возвращает младшее 32-разрядное слово 64-разрядного размера файла с идентификатором hFile. Старшее слово размера файла записывается в переменную типа DWORD, адрес которой передается функции через параметр lpFileSizeHigh.
Если функция завершилась без ошибок, вызванная вслед за ней функция GetLastError возвращает значение NO_ERROR. Если же произошла ошибка, функция GetFileSize возвращает значение 0xFFFFFFFF. При этом в слово, адрес которого задается параметром lpFileSizeHigh, записывается значение NULL. Код ошибки можно определить при помощи все той же функции GetLastError.
Для изменения размера файла вы можете выполнить операцию записи в него или использовать описанные выше функции SetFilePointer и SetEndOfFile.