Вы можете сделать это с помощью fread()
, установив для параметра size
значение 1 и установите для nmembers
любой желаемый размер. Тогда количество «членов» - это число байтов, и вы все равно можете иметь буфер приличного размера:
char buf[8192];
size_t n;
n = fread(buf, 1, sizeof buf, f);
вместо
char buf[8192];
size_t n;
n = fread(buf, sizeof buf, 1, f);