Открыть файл, найти нужное слово и заменить его на другое - C (СИ)

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

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

надо открыть файл найти нужное слово и заменить его на другое. пробывал делать получается что-то типа такого:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main()
{
 FILE *fm;
 char name[20];
 fm=fopen("2.txt","a");
 while ( !EOF(fm))
  {
   fscanf (fm,"%s",&name);
   if (strcmp(name,"car")==0)
     fprintf (fm," HHH ");
  }
 fclose(fm);
 getch();
 return 0;
}
но вылает ошибку "9: call of nonfuction" вопрос где должен лежать файл 2.txt? где сама программа лежит?

Решение задачи: «Открыть файл, найти нужное слово и заменить его на другое»

textual
Листинг программы
...
while ( fscanf(fin, "%s", buf) )
    fprintf(fout, "%s ", ( strcmp(buf, change_from) ) ? buf : change_to);
...

Объяснение кода листинга программы

  1. В цикле while происходит чтение файла с помощью функции fscanf и сохранение прочитанной строки в переменной buf.
  2. Если строка в переменной buf не пустая (т.е. была прочитана из файла), то она записывается в файл fout с добавлением пробела в конце с помощью функции fprintf.
  3. В скобках функции fprintf происходит сравнение строки buf с целевым словом для замены (change_from). Если строки не совпадают (т.е. это не целевое слово), то в качестве вывода используется сама строка buf. Если строки совпадают (т.е. это целевое слово), то в качестве вывода используется целевое слово для замены (change_to).

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


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

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

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