getline - problem z odczytem

0

Cześć.
Zmienną odczytuje ze strumienia cin i zapisuje do pliku:

char tekst1[100]="test1 test1";
char tekst2[100]="test2 test2";
cin.getline(tekst, 100);
ofstream plik("plik.txt");
plik.write(tekst1, 100);
plik.write(';',1);
plik.write(tekst2, 100);
plik.write(';',1);
plik.close();

W pliku oprócz tego co chciałem zapisać są jakieś inne śmieci.
Gdy chce odczytać plik to coś nie działa ale program się nie crashuje:

ifstream plik("plik.txt");
char tekst1[100];
char tekst2[100];
plik.getline(tekst1, 100, ';');
plik.getline(tekst2, 100, ';');
plik.close();

Gdy usunę z pliku te śmieci to program odczytuje plik poprawnie a jeśli nie usunę to odczytuje ale tylko pierwszy wyraz.
Jak to naprawić?

2

Obstawiam, że błąd jest tutaj:

plik.write(';',1);

write() oczekuje wskaźnika na ciąg znaków, a Ty przekazujesz mu chara.

0

W tym co kolega wyżej napisał zamień ';' na ";"

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