Я использую fread для чтения большой части данных изображения (> 1 MB) из файла. Недавно я столкнулся с ошибкой на MinGW с разделяемыми сетевыми ресурсами Windows, где один вызов в fread типа
fread(file, 4, 100000, data);
надежно не срабатывает с ошибкой "Неверный аргумент", но 10 вызовов
fread(file, 4, 10000, data); data += 10000;
успешно завершаются и дают правильный результат. Я делаю вывод, что для фреада должен быть максимальный размер, о котором я раньше не знал. Я разбил допустимый размер фреада на биссы и обнаружил, что он составляет от 31000 до 32000 блоков по 4 байта. Кто-нибудь сталкивался с этим раньше? Это баг в MinGW? Есть ли способ определить максимальный "безопасный" размер для фрида?