Если слово было найдено, то как заменить его в другом файле?
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <ctype.h> void firstWord(char str[]){ int i = 0; while(!isspace(str[i])){ i++; } str[i]='\0'; } void hello(){ int option; char updated_name[50], read[100]; short int FLAG = 0; static const char * listing[] = {"Name", "Date of birth","ID card number","Phone 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]); <big>SELECT OPTION TO UPDATE</big> fputs("Select your choice to update: ", stdout); scanf("%d", &option); char string[100]; if (option == 1){ while(fgets(string, 100, fr3) != NULL){ firstWord(string); printf("'%s' found. Now replace it with another name: ", string); scanf("%s", &updated_name); fclose(fr3); exit(0); } } fclose(fw1); } int main(){ hello(); }
Что я уже пробовал:
У меня есть этот код, который я разделил на две части просто для понимания цели. Первый вариант работает нормально и показывает мне детали для обновления.
У меня есть проблема со второй частью, в которой код правильно берет имя/слово из файла, но я не знаю, как заменить его новым именем/словом в другом файле? Не могли бы вы помочь мне с некоторым кодом, потому что я много искал? Спасибо!
Здесь file.txt
билалхан 20/20/1980 908732343