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
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);
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..