Возможный дубликат:
В чем причина того, что fread / fwrite принимает размер и учитывается в качестве аргументов?
В C функции fwrite и fread принимают количество записываемых элементов и размер каждого элемента. Кажется, что просто наличие параметра, который сообщает количество байтов, которые должны быть записаны, было бы более очевидным и более общим, потому что количество байтов для записи просто равно размеру элементов. Есть ли веская причина для создания этих функций, или причина потеряна в древности?