Здравствуйте! Я пытаюсь загрузить из ХДД в память файл обемом ~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
Спасибо!
Прошу прощения, ошибка нашлась – некоректное выделение памяти под grid. По неизвестным причинам fread не выдает segmentation fault a просто не пишет в буфер и все.
Еще раз простите за глупый пост.