Здравствуйте.
Для дозаписи файлов использую такой код:
HANDLE hFile;
DWORD dwLow,PtrLow,dwError;
LONG dwHei,PtrHei;
hFile=CreateFile(filename,GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile == INVALID_HANDLE_VALUE) return(-1);
dwHei=0; dwLow=SetFilePointer(hFile,0,&dwHei,FILE_END);
if(dwLow == 0xFFFFFFFF && (dwError = GetLastError()) != NO_ERROR)
{
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,dwError,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),buf,250,NULL);
return(-2);
}
PtrHei=dwHei; PtrLow=dwLow;
WriteFile(hFile,SomeData,SizeData,&dwError,NULL);
CloseHandle(hFile);
if(dwError == 0) return(-3);
Файлы больше 4.2 Гб нормально записываются в Win95 и Win2000, но в Win98 возвращается ошибка (-3).
Это особенность Win98 или ошибка в программе?
На Win98 стоит FAT32.
С уважением
Андрей Тюрин