使用uchardet库后如何释放资源?

时间:2014-04-07 04:14:01

标签: c++ memory-leaks character-encoding

我在我的C ++项目(MS Visual Studio 2010)中使用字符集检测器库(uchardet)。 我在存档中遇到了以下用法片段:

void detect(FILE * fp)
{
uchardet_t handle = uchardet_new();

while (!feof(fp))
{
    size_t len = fread(buffer, 1, BUFFER_SIZE, fp);
    int retval = uchardet_handle_data(handle, buffer, len);
    if (retval != 0)
    {
        fprintf(stderr, "Handle data error.\n");
        exit(0);
    }
}
uchardet_data_end(handle);

const char * charset = uchardet_get_charset(handle);
if (*charset)
    printf("%s\n", charset);
else
    printf("ascii/unknown\n");

uchardet_delete(handle);
}

如果uchardet_data_end()返回非零值,是否可以不致电uchardet_delete()uchardet_handle_data()?我想在使用这个库时避免内存泄漏。

0 个答案:

没有答案