E>MS-DOS работает в реальном режиме x86 процессоров. А там память выделяется сегментами, максимальный размер которых не может превышать 64K (т.к. смещение внутри сегмента определяется 16-битными значениями). Но! Ты не можешь получить от ОС блок памяти размером 64K, т.к. в каждом выделеном блоке ОС хранит еще, если не ошибаюсь, 16-байтовый блок MCB (Memory Control Block). Т.е., теоритический максимум в реальном режиме -- (64K — 16)
64-16=48Кб
у меня выделяет 59Кб, а вот 60 уже нет.
E>Разницы между fread(buf,1024,64,f) и fread(buf,1024*64,1,f) нет, т.к. она все равно обращается к системной функции через прерывание int 21, в которую передается общее количество байт для чтения в виде 16-ти битового числа.
Согласен. Практика показала одинаковые результаты.
Спасибо всем кто ответил. Может еще когда спрошу.