Добавить в код проверку: есть ли в файле строка, которую мы хотим заменить - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребята помогите доделать. Есть код по замене строки:
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
/* stf - что ищем; rtf - на что меняем; fpath - путь к файлу; str - стока текста*/
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    char file_path[40] = { 0 }, stf[255] = { 0 }, rtf[255] = { 0 }, str[255] = { 0 };
    FILE* file = NULL;
 
    do
    {
        printf("Enter file path: ");
        fgets(file_path, 40, stdin);
        file_path[strlen(file_path) - 1] = '\0';
        file = fopen(file_path, "r+");
    } while (file == NULL);
 
    printf("Enter text to find: ");
    fgets(stf, 255, stdin);
    stf[strlen(stf) - 1] = '\0';
    printf("Enter text to replace: ");
    fgets(rtf, 255, stdin);
    rtf[strlen(rtf) - 1] = '\0';
 
    while (fgets(str, 255, file) != NULL)
    {
        char* tmp_ptr = strstr(str, stf);
        while (tmp_ptr != NULL)
        {
            char tmp_str[255];
            strcpy(tmp_str, tmp_ptr + strlen(stf));
            strcpy(str + strlen(str) - strlen(tmp_ptr), rtf);
            strcat(str, tmp_str);
            tmp_ptr = strstr(str, stf);
        }
        printf("%s", str);
    }
    fclose(file);
    getchar();
    return 0;
}
Чтение идет из файла. Надо добавить проверку есть ли такая строка которую мы хотим заменить. Подскажите как сделать пожалуйста

Решение задачи: «Добавить в код проверку: есть ли в файле строка, которую мы хотим заменить»

textual
Листинг программы
if (tmp_ptr == NULL)
{
    printf("Text not found!");
    break;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы