Ошибка указателя Free () при приведении из const char * - PullRequest
2 голосов
/ 14 марта 2020

Я пытаюсь освободить 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. Что я делаю неправильно? Любая помощь будет оценена

...