#include<iostream>
#include<fstream>
#include<cstdlib>
std::string linia,imie,nazwisko;
int main()
{
std::cin>>imie;
std::cin>>nazwisko;
std::fstream plik;
plik.open("wizytowka.txt",std::ios::out);
plik<<imie<<std::endl;
plik<<nazwisko<<std::endl;
plik.close();
//^tutaj jest mechanizm wpisywania do pliku txt który nie działa poprawnie.
plik.open("wizytowka.txt",std::ios::in);
if(plik.good()==false)
{
std::cout<<"plik nie istnieje";
exit(0);
}
int nr_lini=1;
while(getline(plik,linia))
{
switch (nr_lini)
{
case 1: imie = linia; break;
case 2: nazwisko = linia; break;
}
nr_lini++;
}
plik.close();
std::cout<<imie<<std::endl;
std::cout<<nazwisko<<std::endl;
return 0;
}
Ten program pyta o dane które wczytuje do pliku txt i ma je potem wypisać na ekranie. Sposób na wypisanie linijek ze spacjami z pliku txt działa, ale w "1 części" programu kiedy próbuje się zapisać zmienną imię ze spacją, znaki po spacji program traktuje jako zmienną nazwisko, za to kiedy imię zapiszemy bez spacji, za to nazwisko ze spacją (np: Skłodowska Curie) program ucina drugą część nazwiska i wypisuje tylko tą przed spacją.
Co zrobić aby można było wpisać do pliku.txt imie lub nazwisko ze spacją?