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