Вот что реально помогло бы - это выработать паттерны программирования для написания блочно-ориентированных алгоритмов.
Эта проблема до сих пор не решена для всех и каждого. По-хорошему, следовало бы преподавать такие паттерны в институтах, чтобы студенты сразу знали, как это делается. А то сейчас, с ростом памяти компьютеров, все обленились и даже при обработке аудио-, видео- и прочих больших файлов норовят загружать весь файл в память, чтобы удобнее было с ним работать.
А вот я уже давно выработал следующий паттерн для блочной обработки потоков:
Выглядит вроде просто, но если у вас такого еще нет - пользуйтесь на здоровье!Код:#define BUFFER_SIZE 1024 void process_file_in_blocks(FILE* input_file, long file_size) { long bytes_remain = file_size; int bytes_proc; while(bytes_remain) { if(bytes_remain > BUFFER_SIZE) bytes_proc = BUFFER_SIZE; else bytes_proc = bytes_remain; process_block(input_file,bytes_proc); bytes_remain -= bytes_proc; } }




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
