При отладке, код в самом конце выдаёт такую ошибку(скрин). Пытался гуглить, вроде похоже на утечку памяти, но как исправить не пойму. Спасибо.

struct person {
char lastName[15];
char firstName[15];
char age[2];
};
int main()
{
FILE* filePtr;
filePtr = fopen("nameage.txt", "wb");
if (filePtr == NULL)
fprintf(stderr, "File couldn't open.");
else
{
struct person blankPerson = { "unassigned", "", "0" };
for (int i = 0; i < 100; i++)
fwrite(&blankPerson, sizeof(struct person), 1, filePtr);
struct person person;
puts("Enter LastName, FirstName, Age.");
puts("Enter EOF to stop.");
printf("?\t");
scanf("%s%s%s", &person.lastName, &person.firstName, person.age);
int start = 1;
while (!feof(stdin))
{
fwrite(&person, sizeof(struct person), 1, filePtr);
printf("?\t");
scanf("%s%s%s", &person.lastName, &person.firstName, person.age);
}
rewind(filePtr);
fclose(filePtr);
}
return 0;
}
struct personписать простоperson, например:person blankPerson = { "unassigned", "", "0" };– gil9red Jul 22 '20 at 02:06struct person person;вызывает подозрение. Лучше назовите структуру и объект по-разному, хотя бы для читаемости кода. Во-вторых, вопрос: компилируете как код С или С++? – V-Mor Jul 22 '20 at 02:11while (!feof(stdin))делать нельзя - см. https://ru.stackoverflow.com/q/833980/195342