我有内存泄漏问题
我有一个循环,它用LibXL
库读取 EXCEL 上的数据。
Book* book3 = xlCreateXMLBook();
if (book3->load("Výmera Územia, využitie pôdy.xlsx")) {
CellType cellType;
Sheet* sheet = book3->getSheet(0);
while (startIndex <= 100 * countOfLoad) {
int k = 1;
int numberOfBlank = 0;
const char* name = sheet->readStr(startIndex, 0);
nameOfVillage = name;
free ((void*) name);
...
}
...
}
const char* name = sheet->readStr(startIndex, 0);
- 从单元格中读取字符串及其格式。
内存在内部分配并且在加载新工作簿或Book::release()
为二进制实现 (xls) 调用之前有效。
但是每次在 xml 实现(xlsx)中都需要复制一个结果字符串。
但是当我写给free ((void*) name)
我错误时:
Test(24919,0x1025bb380) malloc: *** error for object 0x10dacb738: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug
当我的循环经过158次读取字符串后,该程序停止读取导致内存已满,我必须在读取字符串后删除一些内存。
任何人都可以帮忙吗?谢谢