У меня есть следующий код C:
char* str = (char*)malloc(sizeof(char));
int count = 0;
while ((c = getchar()) != EOF){
str[count] = c;
count++;
str = (char*)realloc(str, sizeof(str) + sizeof(char));
}
Но выдает ошибку Unhandled exception at 0x77C8F94D (ntdll.dll) in algorithms.exe: 0xC0000374: A heap has been corrupted
.Я пытался решить это целую вечность, но не могу понять это правильно.Интересно, что проблема возникает только тогда, когда входной поток имеет большое количество символов для чтения.
Это связано с моим использованием malloc и realloc?