Bład z wyświetlaniem i zapisem danych z pliku

0

Witam !
Mam za zadanie wczytac ciag znaków z jednego pliku i zmienić wszedzie wystepujace wybrane slowo na inne, a pozniej zapisac tekst do innego pliku. Niestety gdzieś w kodzie mam blad i nic nie zapisuje mi do drugiego pliku. Mógby ktos pomóc.

#include<iostream>
#include<string>
#include<fstream>
#include <stdlib.h>
using namespace std;
int main()
{
    fstream plik;
    plik.open("dane.txt" , ios::in | ios::out);
    if(plik.good()==true)
    {
        cout<<"DZIALA"<<endl;
    }
    string wzor,new_wzor,temp;
    int licznik=0;
    cout<<"Jakie slowo ma byc zmienione:  ";
    cin>>wzor;
    cout<<"Na jakie slowo ma byc zmienione:  ";
    cin>>new_wzor;
    while(plik.eof()==0)
    {
        plik>>temp;
        licznik++;
    }
    licznik--;
    cout<<licznik;
    int x=0;
    string *napis=new string [licznik];
    while(plik.eof()==0)
    {
        plik>>napis[x];
        if(napis[x]==wzor)
        {
            swap(new_wzor,napis[x]);
        }
        cout<<napis[x]<<" ";
        x++;

    }

    plik.close();
    plik.open("osoby.txt" , ios::in | ios::out);
    if(plik.good()==true)
    {
        cout<<"DZIALA"<<endl;
    }
    for(int i=0 ; i<x ; i++)
    {
        plik<<napis[i];
    }

}
0

dobra znalazłem blad zapomnialem przesunac wskaznik ale teraz wyskakuje mi w konsoli Segmention fault

0

for od i = 0; i < x gdzie x = 0

0

ale x nie jest 0.

0

<ocde=cpp>plik.clear();
plik.close();

Wiesz co robi funkcja `swap` - może poczytaj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1