C++ Program nadpisujący dane w liscie

0

Witam, mam problem z programem, który pobiera z pliku (w plik znajduje się list, którym zmiast nazwiska nadawcy są znaki '#N#N#N#') ciąg znaków dopóki nie natrafi na znak '#', jak natrafi to w tym miejscu wpisuje dane z klawiatury, w tym przypadku nazwisko (i mamy 'Dear Nazwisko'), potem powinien wczytacć resztę listu i wysłać tak zmodyfikowany list do pliku wyjściowego. Proszę kogoś aby tak zmodyfikował mój kod, aby działał poprawnie. Chodzi , o to , zeby program poprawnie wysyłał do pliku wyjściowego ostaeczną wersję list (już z nazwiskiem wpisanym z klawiatury). Oto kod. Może być trochę zaśmiecony bo dość długo nad nim siedze :

#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
    int main(){
    fstream plik;
    plik.open( "dane3.txt", ios::in | ios::out);
    fstream plik_2;
    plik_2.open("dane4.txt", ios::in); 
    fstream plik_3;
    char dane[256];
    char dane_3[256];
    string name, napis, dane_2;
    plik.getline(dane, 256, '#');
    cout<<dane<<endl;
    cout<<"Podaj swoje nazwisko"<<endl;
    getline(cin, name);
    plik.seekp(strlen(dane), ios_base::beg);
    plik.write(&name[0], name.length());
    plik.read(bufor, 1024);
    plik_2.write( & dane_2[ 0 ], dane_2.length() );
         for (int i=0;i<strlen(bufor);i++)
         {
               plik_2<<bufor[i];
         }
    plik.close();
    plik_2.close();
    plik_3.close();
    system("pause");
return 0;
}
 
0

Chyba najłatwiej - wczytaj sobie list do stringa, szukaj #, a jak znajdziesz to tutaj używasz metody insert do wstawienia tego, co wpisał użytkownik.

0

ok

0

Mógłby ktoś chociaż przyjrzeć się temu kodowi, bo nikt mnie nawet nie upomniał, że tablica "bufor" nie była zadeklarowana, bo podczas wklejania nie zaznaczylem...

0

@unnamed2, jak byś sformatował to może komuś by się chciało nawet na to spojrzeć.

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