URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8786
[ Назад ]

Исходное сообщение
"fread and big file"

Отправлено ghost_in_machine , 24-Июн-10 22:30 
Здравствуйте! Я пытаюсь загрузить из ХДД в память файл обемом ~60Mb (карта для трикубической интерполяции). Для этого пользуюсь fread:
if (fread(grid,sizeof(double)*64,(size_t)x*(size_t)y*(size_t)z,in)!=(size_t)x*(size_t)y*(size_t)z) goto ERROR;
Но эта команда загружает только 1191 элемента, хотя и файл надлежащего размера и то что грузиться имеет правильное содержание. Я так понимаю что проблема в переполнении каких-то буферов... Но как ее решить (банальный цикличкский вызов fread "пока не прочитает" не помогает - он не заканчиваеться даже если читать по 1 байту)?  
P.S. CentOS-5.2 gcc-4.1.2
Спасибо!

Содержание

Сообщения в этом обсуждении
"fread and big file"
Отправлено ghost_in_machine , 25-Июн-10 01:45 
Прошу прощения, ошибка нашлась – некоректное выделение памяти под grid. По неизвестным причинам fread не выдает segmentation fault a просто не пишет в буфер и все.  
Еще раз простите за глупый пост.