Biblioteka fstream + zmienna string
Ostatnio zmodyfikowano 2014-03-12 22:04
shadow193 Temat założony przez niniejszego użytkownika |
Biblioteka fstream + zmienna string » 2014-03-12 21:33:28 Witam, mam pytanie odnośnie samego mechanizmu wczytywania/wypisywania : #include<iostream> #include<fstream> #include<string> #include<vector> using namespace std;
int main() { vector < string > tab; ifstream liczby( "liczby.txt" ); ofstream wyjscie( "wyjscie.txt" ); string s; while( !liczby.eof() ) { s.clear(); liczby >> s; tab.push_back( s ); } for( vector < string >::iterator it = tab.begin(); it != tab.end(); ++it ) { wyjscie <<( * it ) << endl; } liczby.close(); wyjscie.close(); system( "PAUSE" ); return 0; }
Problem polega na tym, że ten kod działa(o dziwo). Gdy wczytujemy z pliku, nalezy go najpierw otworzyc funkcja .open(), jednak gdy zamieszczam to przed instrukcja while plik wyjsciowy jest pusty. Moje pytanie to : Czy w przypadku zmiennych typu string otwieranie pliku nalezy pominac(czyli jest w jakis sposob otwierany automatycznie) czy tez dziala akurat teraz, a istnieja przypadki w ktorych pominiecie tego nie zadziala i powinienem napisac cos innego? Z gory dziekuje. |
|
Monika90 |
» 2014-03-12 22:04:22 Gdy wczytujemy z pliku, nalezy go najpierw otworzyc funkcja .open(), |
konstruktor wywołuje open, jeżeli podasz mu nazwę pliku while( !liczby.eof() ) { s.clear(); liczby >> s; tab.push_back( s ); }
to nie jest prawidłowy sposób wczytywania ze strumienia. |
|
« 1 » |