realloc неправильно выделяет память...
От: Звероящер Россия  
Дата: 04.10.04 07:25
Оценка:
Пишу под VC++6.
Пользуюсь стандартными функциями malloc и realloc.
Типа того:

unsigned long *begin;
int len=1;
...
begin=(unsigned long*)malloc(sizeof(unsigned long));
...
что-то делаю с этим лонгом...
if(надо еще места в памяти)
{ len++;
begin=(unsigned long*)realloc(begin, len*sizeof(unsigned long));
}
...
короче по мере надобности увеличиваем память на unsigned long каждый раз. Но это не всегда работает верно. Было замечено, что при определённом количестве вызове realloc'а, память выделяется не пустая, а уже используемая, что приводит к сбою программы. Это хорошо видно в пошаговом выполнении.
Кто с этим сталкивался и как боролся?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.