Как заменить слова в текстовом файле пользовательским вводом в C - PullRequest
1 голос
/ 29 февраля 2020

Я хочу найти способ заменить найденное слово на пользовательский. Например, пользователь вводит «er», а затем появляются следующие слова:

enter image description here

Что я хочу сделать, это заменить «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);

        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...