Страница 1 из 1

В тексте заменить слова "компьютер" на "к*******р

Добавлено: 05 авг 2015, 16:18
AleK135
Задача: заменить в тексте слова "компьютер" на "к*******р"
Подскажите, что не правильно

Код: Выделить всё

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cstring>
 
using namespace std;
 
int main()
{
    
setlocale(LC_CTYPE,"RUS");
    int const N = 10;
   char str[500];
   char a[N] = "компьютер";
   char b[N] = "к*******р";
   ifstream file ("C:\\file.txt");
   while(!file.eof())
   {
       file.getline(str, 500);
       for(int i = 0; i < strlen(str); i++){
        if(strcmp(str, a)==0){
            for(int e = 1; e > N; e++){
                a[e] = b[e];
            }
           }
       }
        
       
   }
   file.close();
   
system("pause");
return 0;
}

Re: В тексте заменить слова "компьютер" на "к*******р

Добавлено: 06 авг 2015, 10:38
Decoder
Как вариант, можно текст читать не по строкам а по словам

Код: Выделить всё

   char buff[80] = {0}; // для одного слова
   while(!file.eof())
   {
       file >> buff;
        if (strcmp(buff, a) == 0) {
               // замена слова...
            }
   }
Только непонятно, что потом делать с изменённым текстом. Записывать его в файл или на экран выводить...