Spacje w notatniku
Ostatnio zmodyfikowano 2014-04-15 20:33
qba728 Temat założony przez niniejszego użytkownika |
Spacje w notatniku » 2014-04-15 19:13:04 Witam, mam problem z programem. Ma on wpisywać do pliku tekstowego to, co napiszę w skompilowanym programie(jeśli nie ma pliku to go stworzy), lecz gdy w konsoli wpiszę coś po spacji np "qwerty 12345" to tego "12345" nie będzie w notatniku, wie ktoś jak to naprawić? #include <iostream> #include <fstream> #include <string> using namespace std;
int main() { string nazwa; string pytanie1; string pytanie2; int ilosclinii; int i = 0; pytanie1 = "Jaka jest nazwa pliku?"; pytanie2 = "Ile linii mam wprowadzic?"; cout << pytanie1 << endl; cin >> nazwa; cout << pytanie2 << endl; cin >> ilosclinii; fstream filedescryptor; filedescryptor.open( nazwa.c_str(), ifstream::out ); string x; { while( i < ilosclinii ) { cout << "Wpisz linie:" << endl; cin >> x; cin.sync(); filedescryptor.write( & x[ 0 ], x.length() ); filedescryptor << "\r\n"; i++; } } filedescryptor.close(); return 0; }
|
|
colorgreen19 |
» 2014-04-15 19:20:42 getline(cin, stringdocelowy) |
|
qba728 Temat założony przez niniejszego użytkownika |
» 2014-04-15 19:28:37 możesz napisać gdzie to wstawić? bo albo mi wyświetla pierwszą część(przed spacją) albo po spacji |
|
michal11 |
» 2014-04-15 19:46:52 ofstream plik( "nazwa.txt" ); string buf;
getline( cin, buf );
plik << buf;
plik.close();
Przerobienie tego na klika linii nie powinno stanowić problemu. Btw. czy ktoś mógłby mi podpowiedzieć czy można w jakiś sposób skorzystać z podobnego zapisu ? while( cin >> buf ) { plik << buff; }
|
|
colorgreen19 |
» 2014-04-15 20:33:16 najlepiej daj dwa razy z rzedy to getline o jak cos tam bedzie w strumieniu to ci "pominie" komende, a tak zawsze masz pewnosc ze dobrzez wczyta co tam wpiszesz @up btw z takiego chyba nie (nie spotkałem siez tym) ale juz z while( getline( cin, buf ) { }
chyba tak |
|
« 1 » |