Zapis textu z białymi znakami

0

Witam jak mogę zapisać jakieś podane przeze mnie zdanie?
np. Witaj Olo, jak dziś jest ciepło?
Pytam bo przy próbach z
// dane są typu string.
cin >> dane; kopiuje tylko do 1 białego znaku.
C++

0

getline

0

Ta.. cin.getline jest bardzo dobre tylko, że to zapisuje to tablic char czyż nie?
A takiego czegoś nie mogę chyba wrzucić do pliku przez plik.write

0

Jest też funkcja std::getline.

string linia;
getline(cin, linia);

http://www.cplusplus.com/reference/string/getline/

0

Dzięki wielkie... Sorry za pytania jednak jestem jeszcze bardzo cienkim programistą ;p
Żeby nie robić nowego tematu powie mi ktoś czemu nie mogę zapisać stringa do pliku i zapisać do stringa tresc pliku przy jednym otwarciu?
Przykład:

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

int main()
{
	string napis;
	fstream plik;
	plik.open("C:\\Users\\JA\\Desktop\\cos.txt",ios::in | ios::out);
	if(plik.good() == true)
	{
		cout << "Otwarcie pliku powiodlo sie..." << endl;
		cout << "Co zapisac od pliku? : ";
		getline(cin,napis);
		plik.write(&napis[0],napis.length() );
		cout << "Zapisano! " << endl;
	**	cout << "Odczytywanie tresci" << endl;
		getline(plik,napis);
		cout << "Zawartosc to: \"" << napis << "\"." << endl;**
		plik.close();
	}
	else
		cout << "Nie udalo sie otworzyc pliku." << endl;
	system("pause");
}
	

Gdy tak mam to wpisuje napis do pliku odczytuje go potem z powrotem lecz dodaje jeszcze z jakieś 20 lin takich znaków ' | ', jednak gdy zapis i odczyt mam zrobione w osobnych wczytaniach pliku wszystko dziala dobrze..

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