Я новичок в программировании и пишу свой первый проект. Часть моего проекта требует опроса пользователя на день, месяц и год; записать заметку в файл и затем отобразить соответствующую заметку с указанием месяца и года на экране.
Вот моя структура для заметок:
typedef struct event{
int day;
int month;
int year;
char title[20];
char text[400];
} Note;
и вот часть, относящаяся к вводу:
fptr = fopen("note.bin","wb");
printf("\n\n\t\tAdd title:\n");
fgets(tempNote.title, 20, stdin);
fwrite(&tempNote.title, sizeof(tempNote.title), 1, fptr);
fseek(fptr, sizeof(Note), SEEK_CUR);
printf("\n\n\t\tAdd your note:\n");
fgets(tempNote.text, 400, stdin);
fwrite(&tempNote.text, sizeof(tempNote.text), 1, fptr);
fclose(fptr);
и, наконец, часть, которая отвечает за чтение и отображение данных на основе заданного месяца и года:
fptr = fopen("note.bin","rb");
int len = 0;
while(1)
{
fread(&tempNote, sizeof(Note), 1, fptr);
if(feof(fptr) != 0) break;
if(tempNote.month == month && tempNote.year == year)
{
len++;
}
}
fclose(fptr);
for( int i = 0; i <= len ; i++)
{
printf("\nYOUR NOTE %d\n",i);
printf("%d\t%d\t%d\t%s\t%s",noteCollection[i].day, noteCollection[i].month, noteCollection[i].year, noteCollection[i].title, noteCollection[i].text);
}
Как только я запустил программу, вывод в конце показывает некоторые данные, похожие на мусор. Я пытался прочитать те же вопросы, но до сих пор мне не удалось разобраться в проблеме.
Итак, что я пропускаю ??