Redarea fișierelor în flux

Pentru a lucra cu fișiere, se numesc tipuri speciale de date, numite fluxuri.

Streamul ifstream este utilizat pentru a lucra cu fișiere în modul citire.

Fluxul de fluxuri servește pentru a lucra cu fișiere în modul de scriere.







Fluxul fluxului servește pentru a lucra cu fișiere în modul, atât în ​​citire, cât și în scriere.

În programele C ++, atunci când se lucrează cu fișiere text în modul streaming, este necesar să se conecteze bibliotecile și .

C ++ suporta întregul sistem I / O C și adaugă caracteristici suplimentare la acesta, legate în principal de intrarea / ieșirea obiectelor. Descrierea instrumentelor pentru crearea fluxurilor C ++ este prezentată în fișierul antet . Când programul C ++ începe să funcționeze, firele afișate în Tabelul 5 sunt deschise.

Tabelul 5. Fluxurile definite în C ++.

Numele fișierului standard

Intrare standard - tastatură

Ieșire standard - ecran

Eroare standard - ecran

Versiunea tamponată a ecranului cerr

Algoritmi de bază pentru lucrul cu fișiere

Pentru a scrie date într-un fișier, trebuie să:

1. Descrieți variabila tipului fluxului.

2. Deschideți fișierul pentru înregistrare folosind funcția deschisă.

3. Ieșiți informațiile în fișier folosind cout.

4. Asigurați-vă că ați închis fișierul.

Pentru a citi datele dintr-un fișier text, trebuie să:

1. Descrieți o variabilă de tip ifstream.

2. Deschideți fișierul pentru citire utilizând funcția deschisă.

3. Citiți informațiile din fișier cu cin atunci când citiți fiecare bucată de date, este necesar să verificați dacă citirea este posibilă.

Descrierea variabilei fluxului

Pentru a începe să lucrați cu un fișier text, trebuie să descrieți o variabilă a tipului de flux. De exemplu, utilizând operatorul

O variabilă F va fi creată pentru a scrie informații în fișier.

În general, instrucțiunea de deschidere a fișierului va arăta astfel:

unde F este variabila descrisă în cazul nostru ca în aval;







fișier - numele complet al fișierului de pe disc;

modul - modul de funcționare cu fișierul fiind deschis.

Există următoarele moduri de deschidere a unui fișier (consultați Tabelul 6).

Tabelul 6. Modurile de lucru cu debitul când acesta este deschis

Modurile de funcționare ale fișierului la deschidere

Parametrul modului poate fi absent, caz în care fișierul este deschis în modul implicit pentru acest flux:

ios :: in- pentru fluxurile ifstream,

ios :: out- pentru fluxurile din aval.

După deschiderea cu succes a fișierului (în orice mod), variabila F va stoca 1 (adevărat), altfel 0 (false). Acest lucru va permite verificarea corectitudinii operației de deschidere a fișierelor.

Dacă deschiderea fișierului a eșuat, obiectul corespunzător fluxului va returna o valoare de 0:

De asemenea, puteți verifica succesul deschiderii unui fișier utilizând funcția is_open (). Funcția returnează 1 dacă firul poate fi asociat unui fișier deschis. De exemplu,

dacă (! ofs.is_open ()) cout <<"Файл не открыт\n";

Puteți deschide un fișier în modul de înregistrare în unul din următoarele moduri:

ofstream F; F.open ("abc.txt", ios :: out);

Al doilea mod, modul ios :: out este modul implicit pentru fluxul din flux

A treia metodă combină descrierea unei variabile de flux de tip și deschiderea unui fișier într-o singură instrucțiune.

din fluxul F ("abc.txt", ios :: out);

După deschiderea fișierului în modul de scriere, se va crea un fișier gol în care puteți scrie informații. Dacă doriți să deschideți un fișier existent (în timp ce salvați conținutul acestuia), atunci modulul trebuie să fie ios :: app.

După deschiderea fișierului în modul de scriere, îl puteți scrie exact așa cum ați procedat pe ecran, dar în loc de dispozitivul de ieșire standard, trebuie să specificați numele fișierului deschis pentru scriere.

De exemplu, pentru a scrie un flux F, extrasul va arăta astfel:

Pentru ieșirea secvențială a variabilelor b, c și d la fluxul G, operatorul de ieșire devine:

G <

Citirea din fișier este executată corect până la sfârșitul fișierului. Pentru a verifica dacă se ajunge la sfârșitul fișierului, puteți utiliza funcția

care are prototipul int ();

Această funcție returnează 0 dacă se ajunge la sfârșitul fișierului, iar valoarea 1 atunci când la sfârșitul fișierului.

Deschideți fișierele de pe disc după terminarea lucrului cu acestea, este recomandat să închideți. Instrucțiunea de închidere a fișierului va arăta astfel:

unde F este o variabilă pentru a scrie informații într-un fișier.

Exemplul 1. Lucrul cu un fișier în modul streaming.

Când se utilizează biblioteca de clasă C ++, operațiile de deschidere, crearea și închiderea sunt realizate atunci când se creează obiecte de flux de ieșire (de intrare).

#include // în flux

#include // conține funcția de ieșire

// fișierul este creat, cel vechi este șters







Articole similare

Trimiteți-le prietenilor: