Как мне правильно его изменить
У меня есть словарь, написанный на языке С. Вот мой раздел, который я пишу, чтобы изменить слово. Я ввожу 2 слова, например: Привет, привет, затем я хочу изменить "привет" другим словом, но слово "Привет" не меняется, в моем файле будет новое слово или другое слово заменит слово "привет".
Что я уже пробовал:
Label21: system("cls"); fp=fopen("dictionary.dat", "rb+"); printf("Enter the word to modify : "); fflush(stdin); gets(word); while((fread((char *)&dictionary, sizeof(dictionary), 1, fp))==1){ if(strcmp(word, dictionary.add_word)==0){ printf("\nWord: %s", dictionary.add_word); printf("\nSpell: %s",dictionary.add_spelling); printf("\nMean: %s", dictionary.add_mean); printf("\n"); printf("Do you want to modify this record : ? (Y/N)"); fflush(stdin); scanf("%c", &ch); fseek(fp, sizeof(dictionary), 0); if(ch=='Y'|| ch=='y'){ printf("Enter the word: \n"); fflush(stdin); gets(dictionary.add_word); printf("Enter the the spell: \n"); fflush(stdin); gets(dictionary.add_spelling); printf("Enter the the mean: \n"); fflush(stdin); gets(dictionary.add_mean); fwrite((char *)&dictionary, sizeof(dictionary), 1, fp); printf("Record Modified"); } else printf("No modifications were made"); fclose(fp); } } Label22: printf("\n\n1 -> Edit more words..."); printf("\n2 -> Back to Main Menu"); printf("\n3 -> Exit Program\n"); scanf("%d",&shift); if(shift==1) goto Label21; if(shift==2) goto Label0; if(shift==3) break; if(shift!=1&&2&&3){ printf("\nWrong!<^_^>! Please enter number(1->3)! Thank you!"); goto Label22; }