Я хочу найти способ заменить найденное слово на пользовательский. Например, пользователь вводит «er», а затем появляются следующие слова:
Что я хочу сделать, это заменить «er» на всех из этих слов снова пользовательский ввод. например, пользователь затем пишет «el» вместо «er». Когда это происходит, исходный файл не изменится, но будет создан другой файл, в котором будут сохранены все сделанные изменения. У кого-нибудь есть идея?
#include <stdlib.h>
#include <string.h>
#include<conio.h>
#define MAX 1024
int main(int argc, char* argv[]) {
FILE* myFile = fopen("C:\\Users\\doom\\Desktop\\txtfiles\\singlewords.txt", "r+");
FILE* myFile1 = fopen("C:\\Users\\doom\\Desktop\\txtfiles\\sentences.txt", "r+");
FILE* tempFile = fopen("C:\\Users\\doom\\Desktop\\txtfiles\\singlewordstemp.txt", "w");
char inputWord[MAX];
char inputRepl[MAX];
char lineBuffer[MAX];
char all_lines[MAX];
//char buffer[MAX + 2];
//char* buff_ptr, * find_ptr;
//size_t find_len = strlen(lineBuffer);
if (myFile == NULL)
{
printf("File Does Not Exist \n");
return 1;
}
strcat(all_lines, lineBuffer);
printf("Enter the word \n");
fgets(inputWord, MAX, stdin);
//printf("\nEnter String to replace:");
//scanf("%s", inputRepl);
while (!feof(myFile))
{
char lineBuffer[1024];
fscanf(myFile, "%1024[^\n]\n", lineBuffer);
//printf("%s\n", lineBuffer);
while (fgets(lineBuffer, MAX, myFile)) {
if (strstr( lineBuffer, inputWord))
puts(lineBuffer);
}
}
}