Я пытаюсь освободить char* acc
в конце этого кода:
while (fgets(line, 300, fp)!=NULL)
{
char *tmp = strdup(line);
char *acc = (char*) getfield(tmp, 2);
//check if account number already exists
if (acc != NULL){
if ((atoi(acc))== accNum){
return 1;
}
}
free(tmp);
free(acc);
}
getfield
возвращает const char*
, поэтому я преобразовал его в char*
, но возникает ошибка из указателя, когда я пытаюсь free()
сказать free(): invalid pointer
. Что я делаю неправильно? Любая помощь будет оценена