Witam,
Mam następujący problem. Muszę napisać program na programowanie polegający na tym, że ma on tworzyć bazy studentów, pracowników, grup przedmiotowych itp. Mam jeden problem, który uniemożliwia mi zakończeni i oddanie tego projektu. Potrzebuję funkcji , która usunie mi prowadzącego z grupy, czyli z pliku tekstowego usunie mi wiersz, który rozpoczyna się "Prowadzacy". Wymyśliłem coś takiego :
void kasuj_prowadzacego (string sciezka)
{
fstream plik (sciezka.c_str(), ios::in|ios::out)
string dane, a;
while(!plik.eof() )
{
getline(plik, dane);
a = dane.substr(0,10);
if (a != "Prowadzacy")
plik >> dane;
}
plik.close();
}
Chciałem zrobić tak, że będę pobierał dane z pliku wierszami, następnie będę tworzył stringa, który będzie zawierał tylko początek pobranego wiersza i jeśli on jest różny od "Prowadzacy" to zapisuje ten wiersz do pliku o tej samej nazwie, jeśli byłby taki sam to wiersz nie zostałby zapisany ponownie do tego pliku. Chcąc zobaczyć, w którym momencie mi się coś psuje zamieniłem linijkę "plik >> dane;" na "cout << dane << endl;" i program wtedy wywala się kiedy próbuje wczytać pusty wiersz. Plik , który wczytuję wygląda tak:
Przedmiot: PP
Identyfikator: 1CL
Prowadzacy: Jan Kowalski
Student: Jerzy Kowalski
Przy trzeciej linijce wywala błąd i program się zamyka. Mógłby mi ktoś pomóc? Tylko ta funkcja brakuje mi do ukończenia projektu :/ Z góry bardzo dziękuję za pomoc ;)