Как обновить word в другом файле?
В этом коде я хочу обновить текст в файле, но всякий раз, когда я запускаю код, он не обновляется. Вместо этого он дает ? в новом файле. Как правильно обновить этот код, чтобы он позволял корректно обновлять слово?
Что я уже пробовал:
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <ctype.h> void hello(){ int option; char updated_name[50], string[100], read[100]; static const char * listing[] = {"Name", "Date of birth","ID card number"}; FILE * fr3 = fopen("file.txt","r"); FILE * fw1 = fopen("new.txt","w"); if (fr3 == NULL || fw1 == NULL) { perror("Unable to read text file."); exit(0); } for (option = 1; option <= sizeof(listing)/sizeof(char *); ++option) printf("%d. Your %s\n", option, listing[option-1]); fputs("Select your choice to update: ", stdout); scanf("%d", &option); if (option == 1){ printf("Enter new name to update: "); scanf("%s", &updated_name); rewind(fr3); while(fgets(string, 100, fr3) != NULL){ if (strcmp(read, string) == 0) { strcpy(read, updated_name); } fprintf(fw1, "%s ", read); } } fclose(fw1); fclose(fr3); } int main(){ hello(); }