Безопасное максимальное количество записей, считанных fread

Я использую fread для чтения большой части данных изображения (> 1 MB) из файла. Недавно я столкнулся с ошибкой на MinGW с разделяемыми сетевыми ресурсами Windows, где один вызов в fread типа

fread(file, 4, 100000, data);

надежно не срабатывает с ошибкой "Неверный аргумент", но 10 вызовов

fread(file, 4, 10000, data); data += 10000;

успешно завершаются и дают правильный результат. Я делаю вывод, что для фреада должен быть максимальный размер, о котором я раньше не знал. Я разбил допустимый размер фреада на биссы и обнаружил, что он составляет от 31000 до 32000 блоков по 4 байта. Кто-нибудь сталкивался с этим раньше? Это баг в MinGW? Есть ли способ определить максимальный "безопасный" размер для фрида?

6
задан thiton 30 August 2011 в 09:29
поделиться