Pentru a lucra cu fișiere în C ++ este adesea folosit clasa fstream. Această clasă implementează funcțiile de deschidere și de închidere a dosarului, precum și membrii clasei, care vă permit să poziționați cursorul (locul în care ne aflăm). Există diferite moduri de a deschide un fișier care sunt specificate open_mode variabile enumerable.
Deschiderea unui fișier folosind fstream
- app - deschide un fișier pentru până la sfârșitul înregistrării;
- binar - pentru a deschide fișierul în format binar;
- în - fișier deschis pentru citire;
- out - pentru a deschide fișierul pentru a înregistra de la început. Dacă fișierul nu există, se va crea un nou fișier;
- TRUNC - curățați fișierul de conținut;
- mâncat - indicatorul de fișier este setat să se încheie.
Toate variabilele menționate mai sus sunt de bază membrii clasei ios. Prin urmare, ar trebui să specificați calea completă: ios :: in. ios :: out și așa mai departe.
funcţii fstream
- deschis () - se deschide un fișier;
- is_open () - verifica pentru a deschide fișierul. Dacă a deschis, funcția returnează TRUE altfel FALSE;
- rdbuf () - returnează un pointer la buffer-ul I / O;
- getline (param1, param2) - citește o linie dintr-un fișier într-un param1 variabilă, param2 lung;
- close () - închideți fișierul.
Deschiderea unui fișier funcție deschis () cu parametrii osuschestvyaetsya. De exemplu: FILE.open ( «myfile.txt», ios_base :: in); sau FILE.open ( «myfile.txt», ios_base :: in | ios_base :: out);
Exemplu de utilizare clasă fstream în C ++:
[Cod]
#include
#include
#include
using namespace std;
int main ()
setlocale (LC_ALL, "rus");
FILE fstream;
// blocul de scriere în fișierul
FILE.open ( "myfile.txt", ios_base :: out);
FILE<<"Первая строка"<
FILE.close (); //
// citeste un bloc dintr-un fișier de pe cursive
FILE.open ( "myfile.txt", ios_base :: in);
char str [50];
FILE.getline (str, 50);
cout<
cout<
cout<
// bloc citit din fișierul tot conținutul
FILE.open ( "myfile.txt", ios_base :: in);
cout<
// bloc citit dintr-un fișier de pe cursiv în ciclul
FILE.open ( "myfile.txt", ios_base :: in);
în timp ce (! FILE.eof ())
FILE.getline (str, 50);
cout<
FILE.close (); //