• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

fstream vs ifstream & ofstream

Object Storage Arubacloud
+6 głosów
7,872 wizyt
pytanie zadane 6 kwietnia 2015 w C i C++ przez Pan Kulomb Pasjonat (18,630 p.)

Witam,

Dotychczas robiłem tak:

fstream f;

f.open(path.c_str(), ios::in);

if(f.good())
{
  //kod
}

else
{
  f.close();
  f.open(path.c_str(), ios::out)
}

f.close();

Jak widać zarówno odczytuję i zapisuję (w przypadku gdy nie ma pliku).

Może jednak powinienem użyć ifstream oraz ofstream?

4 odpowiedzi

+2 głosów
odpowiedź 6 kwietnia 2015 przez Wirus Stary wyjadacz (14,000 p.)

ofstream służy do zapisu danych.

ifstream służy do odczytu danych

fstream pozwala na nadanie atrybutów między innymi, aby zapisywał i odczytywał pozwala też na inne np: ma dokleiać tekst do notatnika gdzie już jest tekst zamiast czyścić notatnik.

+1 głos
odpowiedź 6 kwietnia 2015 przez Dorion300 Szeryf (90,250 p.)
edycja 6 kwietnia 2015 przez Dorion300

Fstream jest taki uniwersaly, do odczytu i zapisu.

 

ifstream i ofstream też się nadaje.

Chyba zostały stworzone aby się nie pomylic i nie zapisać niepotrzebnych treści. (Mamy plik który i wyłącznie będziemy odczytywali, jeśli coś zapiszemy w ifstream to program nas poinformuje, a jak fstream to już nie.

 
Tak mniej więcej to działa.

Dużej różnicy nie robi.

0 głosów
odpowiedź 6 kwietnia 2015 przez Bondrusiek Maniak (61,370 p.)
Staraj się używać plików w ten sposób : otwarcie pliku , wskazanie trybu , operacje na nim zamkniecie pliku. Podwujne otwieranie pliku może prowadzić do błedu. Tak możesz otworzyć plik w 2 trybach :

f.open(path.c_str(), ios::in  | ios::out );

//operacje

f.close();

ifstream oraz ofstream to zmienne z jakby juz domyślnym trybem do otwarcia z pliku.

Polecam :

http://cpp0x.pl/kursy/Kurs-C++/Obsluga-plikow/305
0 głosów
odpowiedź 6 kwietnia 2015 przez Valtuil Pasjonat (22,460 p.)
fstrim daje mniejszą kontrolę nad parametrami z osobna wejścia i wyjścia, np w fstream wskaźnik jest przesuwany równocześnie w wejściu i wyjściu.

Więcej na: http://staff.elka.pw.edu.pl/~rnowak2/zprwiki/doku.php?id=strumienie_plikowe_fstream_ifstream_ofstream
komentarz 6 kwietnia 2015 przez Dorion300 Szeryf (90,250 p.)
Oczywiścnie nikt ci nie zabroni stworzyć 2 Fstrimy.

 

PS: To nie jest ograniczenie...

Podobne pytania

0 głosów
2 odpowiedzi 388 wizyt
pytanie zadane 31 marca 2020 w C i C++ przez jjisnb Nowicjusz (120 p.)
0 głosów
1 odpowiedź 165 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Artur313 Użytkownik (790 p.)
0 głosów
1 odpowiedź 283 wizyt
pytanie zadane 23 marca 2016 w C i C++ przez TheFeniks Gaduła (4,690 p.)

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...