![]() |
считывание файла побитово для последующего его сжатия
Привет
Народ помогите реализовать в Билдере считывание файла побитово для последующего его сжатия |
Вообще размер файла всегда кратен 8 битам, поэтому при сжатии лучше всего где-нибудь в заголовке прописать точное количество "значимых" битов в последнем байте файла.
// считать бит из файла infile BYTE GetBit() { static BYTE This; static int count = 8; BYTE bit; if(count == 8) { This = fgetc(infile); count = 0; } bit = (This>>count) & 1; count++; return bit; } // записать бит в файл outfile void PutBit(BYTE bit) { static BYTE This; static int count = 0; This |= bit<<count; count++; if(count == 8) { fputc(This, outfile); count = 0; This = 0; } } |
| Часовой пояс GMT +4, время: 04:39. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.