Fișiere binare c, care lucrează cu fișiere binare în c - life-prog

Astăzi ne vom uita la lucrul cu fișiere binare în C

Spre deosebire de fișierele text, fișierele binare sunt accesate în ordine aleatorie, nu secvențial. Prin urmare, fișierele binare sunt numite fișiere de acces aleatoriu.







O aplicație care intenționează să utilizeze fișiere cu acces aleatoriu trebuie să le creeze. Toate intrările dintr-un astfel de fișier trebuie să aibă aceeași lungime fixă. Datele pot fi inserate într-un fișier de acces direct fără a distruge alte date, modificate sau șterse fără a suprascrie întregul fișier.

Pentru a accesa un fișier binar (flux) în MVS, aveți nevoie de:

  1. Creați un fir de tip adecvat:

ifstream - pentru a introduce dintr-un fișier;

din flux - pentru a fi redactat într-un fișier;

fstream - pentru a schimba cu un fișier în două direcții.

  1. Conectați-l la un fișier de date și deschideți-l pentru a funcționa într-un anumit mod, cu modul binar obligatoriu :: binar (în mod implicit, firele deschise în modul text):

void ifstream :: open (const char * nume fișier, openmode mode = ios :: in | ios :: binary);







void dinstream :: open (const char * nume fișier,
modul openmode = ios :: out | ios :: truns | ios :: binar);

void fstream :: open (const char * numele fișierului,
modul openmode = ios :: în | ios :: out | ios :: binar);

unde numele fișierului este numele fișierului pe care specificatorul căii poate include;

mod - specifică modul de deschidere a fișierului (vedeți lucrarea de laborator nr. 10).

  1. Schimbul de date cu fișierul prin flux: scrieți în flux; citirea din flux; controlul stării fluxului.

Pentru a scrie într-un flux în C ++, utilizați metoda de scriere:

basic_ostream<_Elem, _Tr> scrieți (const char_type * _Str, streamsize _Count);

Pentru a citi din flux, folosiți metoda citită:

basic_istream<_Elem, _Tr> citiți (const char_type * _Str, streamsize _Count);

_Count numărul de octeți de ieșire (introdus)

_Str caractere ieșire (intrare) la (din) flux (a)

Accesul aleator la fișier se face prin setarea poziției curente în fișier utilizând metodele:

pentru fire deschise la intrare:

basic_istream<_Elem, _Tr> solicită (pos_type _Pos);

basic_istream<_Elem, _Tr> căutați (off_type _Off, ios_base :: seekdir _Way);

pentru fluxurile deschise la ieșire în C ++ este scris astfel:

basic_ostream<_Elem, _Tr> searchp (pos_type _Pos);

basic_ostream<_Elem, _Tr> searchp (off_type _Off, ios_base :: searchdir _Way);

Poziția Poziție în flux pentru citire (număr octet)

- Poziția de oprire față de _Way.

_Way unul dintre ios_base enumerations (beg, cur, end):







Articole similare

Trimiteți-le prietenilor: