Śmieć z pliku? Fstream,string c++

0

Witam mam problem z małym programikiem który zapisuje do pliku dane i potem je odczytuje.

#include <iostream>
#include <sstream>
#include <fstream>
using namespace std;

int main()
{
	ofstream("cwiczenia.txt");

	string Sadlo_s("Sadlo:");
	int Sadlo_int = 5000;
	ostringstream Sadlo_os;
	Sadlo_os << Sadlo_int;
	Sadlo_s += Sadlo_os.str();

	fstream plik;
	plik.open("cwiczenia.txt",ios::in | ios::out);
		plik.write(Sadlo_s.c_str(),Sadlo_s.length() );
	

		Sadlo_s.clear();
		plik >> Sadlo_s;  // getline(plik,Sadlo_s);
		string Sadlo_Wczytane = Sadlo_s.substr(6);
		int Sadlo_int2;
		istringstream Sadlo_i(Sadlo_Wczytane);
		Sadlo_i >> Sadlo_int2;
	cout << "Twoje Sadlo to: " << Sadlo_int2 << endl;
	system("pause");
	plik.close();
//**************************************************************************************************************************
}
//***************************************************************************************************************************
#include <iostream>
#include <sstream>
#include <fstream>
using namespace std;

int main()
{
	ofstream("cwiczenia.txt");

	string Sadlo_s("Sadlo:");
	int Sadlo_int = 5000;
	ostringstream Sadlo_os;
	Sadlo_os << Sadlo_int;
	Sadlo_s += Sadlo_os.str();

	fstream plik;
	plik.open("cwiczenia.txt",ios::in | ios::out);
		plik.write(Sadlo_s.c_str(),Sadlo_s.length() );
	

		Sadlo_s.clear();
		getline(plik,Sadlo_s,' ');
		cout << Sadlo_s << endl;
	system("pause");
	plik.close();
}
 

Mianowicie zapis do pliku działa dobrze jednak gdy próbuje wczytać cinem lub getline to w pliku i konsoli wywala zawartosc i pełno jakiś znaczków a Sadlo_int2 wywala adres jakiegoś śmiecia.
Co jest nie tak?>

0

Złamałeś jedną z najważniejszych zasad programowania- "PISZ CZYSTO I PRZEJRZYŚCIE"
1.Zmiennych nie definiuje się od dużych liter
2. Po co ci na końcu zmiennej _int- lepiej użyć notacji węgierskiej
3.Wczytanie pliku- lepiej to poćwicz

Pisz zgodnie z konwencją a plik będzie przejrzysty !!!

0

Przed:
getline(plik,Sadlo_s,' ');
wstaw:
plik.seekg(0);

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