Чтение в строке из файла и чтение в предложении, чтобы найти количество предложений и слов.При запуске эта ошибка выдается после прочтения ровно 24 символа каждый раз.Я считаю, что есть проблема с моим заявлением realloc, однако я понятия не имею, как это исправить.Вот функция:
void getSentence(FILE *fp, int *sentences, char *sentence)
{
char currentLet;
int length = 0;
while ((currentLet = (char)fgetc(fp)) != '.' && currentLet != ':' && currentLet != ';' && currentLet != '?' && currentLet != '!')
{
printf("Current Sentence:%d %s\n", length, sentence);
realloc(sentence, sizeof(char)*(length + 2));
sentence[length] = currentLet;
sentence[length+1] = '\0';
length++;
}
return;
}
Он будет продолжать читать, пока не достигнет конца предложения, как отмечено пунктуацией в условии цикла while.
Я компилирую с этими флагами: gcc fleschIndex.c -Wall -std = c99 -o run
Редактировать: Спасибо, я изменил строку на:
sentence = realloc(sentence, sizeof(char)*(length + 2));
Теперь у меня больше нет этой ошибки, но она все ещеперестает читать ровно 39 символов.