Что не так с моей программой Fread? - PullRequest
1 голос
/ 05 февраля 2012

Я читаю содержимое из двоичного файла. Если я читаю элементы данных как char, я не получаю ошибок malloc, но если я читаю как любые другие типы данных, скажем, short или int, программа успешно читает в байтах, но когда я free указатель, который я получаю Это может быть связано с повреждением кучи. Может кто-нибудь сказать мне, что я не так делаю?

Код:

* * 1010

1 Ответ

1 голос
/ 05 февраля 2012

malloc принимает размер в байтах в качестве параметра, поэтому строка

buffer = (TYPE*) malloc (lSize/sizeof(TYPE));

должна читаться как

buffer = (TYPE*) malloc (lSize);
...