Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Obiekty fstream, ifstream, ofstream

Ostatnio zmodyfikowano 2013-10-09 22:27
Autor Wiadomość
panczo12d
Temat założony przez niniejszego użytkownika
Obiekty fstream, ifstream, ofstream
» 2013-10-09 20:39:21
Cześć, ucząc się podstaw c++ natknąłem się na coś co zwróciło moją ciekawość. Chodzi o obsługę plików - a dokładniej klasę fstream.
Jedne osoby pisząc na swoich stronach o obsłudze plików (zarówno do odczytu jak i zapisu) korzystają z obiektów klasy fstream.
Inni raz istream, a innym razem fstream.

Przykłady artykułów:
http://kurs-c-plus-plus.cba.pl​/?page_id=284 - ifstream
http://kurs-c-plus-plus.cba.pl​/?page_id=289 - ofstream
http://www.p-programowanie.pl​/matura-z-informatyki​/odczyt-danych-z-pliku-c/ - fstream
http://www.p-programowanie.pl​/matura-z-informatyki​/zapis-danych-do-pliku-c/ - fstream

Czy ktoś wytłumaczy mi z której klasy i w jakich przypadkach powinno się korzystać?
Czy w przypadku ifstream/ofstream należy podawać tryby otwarcia pliku?

Pozdrawiam.
P-93433
pekfos
» 2013-10-09 21:36:51
P-93448
panczo12d
Temat założony przez niniejszego użytkownika
» 2013-10-09 21:41:33
w podanych przez Ciebie adresach nie znalazłem odpowiedzi na moje pytania.
P-93449
akwes
» 2013-10-09 21:48:51

Czy ktoś wytłumaczy mi z której klasy i w jakich przypadkach powinno się korzystać?
Czy w przypadku ifstream/ofstream należy podawać tryby otwarcia pliku?

1. Na to pytanie jest odpowiedź w linkach ;)

Output stream class to operate on files.


Input stream class to operate on files.

Oraz jeden brakujący link: fstream

Input/output stream class to operate on files.
2. Jeżeli są inne niż te domyślne. A jakie są domyślne też jest w linkach.

Poczytaj dobrze.
P-93450
Wasilek
» 2013-10-09 21:56:58
ifstream = in-file-stream -> czyli po prostu strumień wejścia do pliku (wczytywanie)
ofstream = out-file-stream -> czyli strumień wyjścia do pliku (zapisywanie)
Natomiast fstream ma funkcjonalność obu klas.
P-93452
panczo12d
Temat założony przez niniejszego użytkownika
» 2013-10-09 22:17:46
Dziękuję coś tam wyczytałem.
A teraz pytanie z serii ciekawskich :p
czy można korzystać z ifstream do zapisu, a
z ofstream do odczytu (czyli na odwrót)?

Bo wyczytałem w tym referencie że metoda .open ustawia domyślnie (ios::in dla ifstream i ios::out dla ofstream),
ale dostępne jest też ios::out dla ifstream i ios::in dla ofstream,
czyli z mojego rozumowania wynika że można korzystać z tych klas "na odwrót".
P-93455
Monika90
» 2013-10-09 22:27:52
Nie można na odwrót. Klasa ifstream nie ma operacji potrzebnych przy zapisywaniu danych, takich jak << albo put, a ofstream nie ma operacji potrzbnych przy odczycie takich jak get czy >>.
P-93457
« 1 »
  Strona 1 z 1