Fișiere în C și C++

Curs
9.3/10 (14 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 12 în total
Cuvinte : 4407
Mărime: 31.00KB (arhivat)
Cost: Gratis

Extras din document

2. Fisiere text si fisiere binare

Într-un fisier text, toate datele sunt memorate ca siruri de caractere, organizate pe linii, separate între ele prin marcajul sfârsit de linie ‘n’ .

Într-un fisier text spatiul de memorare pe disc nu este folosit în mod eficient pentru datele numerice (astfel întregul 12345 ocupa 5 octeti).

Într-un fisier binar, datele sunt pastrate în formatul lor intern (2 octeti pentru int, 4 octeti pentru float, etc).

La fisierele text marcajul de sfârsit de fisier (caracterul 0X1A) exista fizic în fisier. La întâlnirea acestui caracter functia fgetc() întoarce EOF (-1). Marcajul de sfârsit de fisier se genereaza de la tastatura prin Ctrl-Z.

În cazul fisierelor binare, marcajul de sfârsit de fisier nu exista fizic în fisier, ci este generat de functia fgetc().

În MSDOS (si în Unix), la nivelul liniei de comanda intrarile si iesirile standard pot fi redirectate în fisiere disc, fara a opera nici o modificare la nivelul programului. Astfel:

< redirecteaza intrarea standard catre fisierul specificat

> redirecteaza iesirea standard catre fisierul specificat

Fisierul standard de eroare nu poate fi redirectat.

Fisierul specificat poate fi:

con – pentru consola sistem (tastatura, respectiv ecranul)

prn – pentru imprimanta paralela

com1 – pentru interfata seriala de date

nume_fisier – pentru un fisier disc

NUL – pentru perifericul nul.

Exemple:

> test.exe > prn redirecteaza iesirea programului la imprimanta

> test.exe < f1.dat > f2.dat redirecteaza atât intrarea cât si iesirea programului

3. Accesul la fisiere.

Fisierele disc si fisierele standard sunt gestionate prin pointeri la structuri specializate FILE, care se asociaza fiecarui fisier pe durata prelucrarii.

Fisierele standard au pointerii predefiniti: stdin, stdout, stderr, stdprn, stdaux.

Declararea unui pointer la fisier se face prin:

FILE *pf;

1. deschiderea unui fisier:

Înainte de a fi prelucrat, un fisier trebuie sa fie deschis. Prin deschidere:

- se asociaza unui nume de fisier un pointer la fisier

- se stabileste un mod de acces la fisier

Pentru deschiderea unui fisier se foloseste functia cu prototipul:

FILE *fopen(char *nume_fisier, char *mod_acces);

Prin deschiderea unui fisier se stabileste o conexiune logica între fisier si variabila pointer si se aloca o zona de memorie (buffer) pentru realizarea mai eficienta a operatiilor de intrare / iesire. Functia întoarce:

- un pointer la fisier, în caz ca deschiderea fisierului se face în mod corect

- NULL daca fisierul nu poate fi deschis.

Vom considera mai întâi doua moduri de acces :

- citire (sau consultare) “r” – citirea dintr-un fisier inexistent va genera eroare

- scriere (sau creare) “w” - daca fisierul exista deja, el va fi sters

Fisierele standard nu trebuiesc deschise.

Redirectarea unui fisier deschis poate fi realizata cu:

FILE* freopen(char* nume, char* mod, FILE* flux));

Fisierul deschis este închis si este deschis un nou fisier având ca sursa fluxul, numele si modul de acces specificati ca parametri. O utilizare importanta o constituie redirectarea fluxului standard de intrare: datele vor fi citite din fisierul specificat, fara a face nici o modificare în program.

2. închiderea unui fisier

Dupa terminarea prelucrarilor asupra unui fisier, acesta trebuie închis. Un fisier este închis automat la apelarea functiei exit().

int fclose(FILE *pf);

- functia întoarce 0 la închidere normala si EOF la producerea unui incident

- fisierele standard nu se închid de catre programator

- în cazul unui fisier de iesire, se scriu datele ramase nescrise din buffer în fisier, asa ca operatia de închidere este obligatorie

- în cazul unui fisier de intrare, datele necitite din bufferul de intrare sunt abandonate

- se elibereaza bufferele alocate

- se întrerupe conexiunea pointer – fisier

Secventa urmatoare deschide un fisier cu un nume dat si apoi îl închide.

FILE *pf = fopen(“test1.dat”, ”w”);

fclose(pf);

Preview document

Fișiere în C și C++ - Pagina 1
Fișiere în C și C++ - Pagina 2
Fișiere în C și C++ - Pagina 3
Fișiere în C și C++ - Pagina 4
Fișiere în C și C++ - Pagina 5
Fișiere în C și C++ - Pagina 6
Fișiere în C și C++ - Pagina 7
Fișiere în C și C++ - Pagina 8
Fișiere în C și C++ - Pagina 9
Fișiere în C și C++ - Pagina 10
Fișiere în C și C++ - Pagina 11
Fișiere în C și C++ - Pagina 12

Conținut arhivă zip

  • Fisiere in C si C++.doc

Alții au mai descărcat și

Bazele programării - probleme cu vectori

Valoarea unui polinom Enunt Să se scrie programul pentru calcularea valorii unui polinom într-un punct dat. Coeficienții polinomului sunt numere...

Tehnici de Programare

LIMBAJUL DE PROGRAMARE JAVA Java este un limbaj de programare de nivel înalt, dezvoltat de JavaSoft, companie în cadrul firmei Sun Microsystems....

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Biblioteca de Șabloane Standard

Biblioteca de Sabloane Standard (STL) asigura o abstractizare standardizata a datelor prin intermediul containerelor si o abstractizare procedurala...

Clase Derivate

1. Clase derivate. Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi,...

Clase în Java

Clase pentru miniaplicatii Miniaplicatiile constituie extensii ale unei clase deja existente java.applet.Applet. Structura clasei unui applet...

Clase

1. Programare procedurala –Programare orientata pe obiecte. Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care...

Comunicații internet

2.1. Stilurile caracterelor {n sfirsit pagina dvs. contine ceva, chiar daca este vorba numai de un nume. Vom analiza in continuare elementele de...

Te-ar putea interesa și

Steganografie criptografică pentru fișiere mp3

1. STEGANOGRAFIA 1.1 INTRODUCERE Steganografia este arta ascunderii de informatie secreta în informatie obisnuita non-secreta. Un atacator se...

Fișiere de Configurare în Red Hat Linux

1. Introducere Orice program Linux este un fisier executabil care stocheaza lista cu coduri operationale pe care le executa unitatea centrala...

Proiect fișiere relative - algoritmi în programare

Proiectul contine un meniu pt creearea si accesarea datelor despre elevii olimpici, memorate intr-un fisier relativ. Se defineste structura elev...

Utilizarea fișierelor de tip text la rezolvarea problemelor

Introducere "Dibăcia învățătorului nu este decât de a trezi curiozitatea minților tinere, ca să le potolească apoi această curiozitate, pe care...

Sisteme de fișiere - clasificări și implementări UNIX-Windows

1 Sisteme de operare - prezentare generala a celor mai utilizate SO 1.1 Microsoft WINDOWS Windows 95 face parte din categoria sistemelor de...

Administrarea serverelor de fișiere

Serverele de fisiere sunt uneori primul motiv pentru care organizatiile implementeaza retelele. De aceea, in general, sunt si primele servere puse...

Fișiere text

1. Fisiere în C(intrari/iesiri si functii de biblioteca) 1.1 Generalitati Bibliotecile standard C ofera o mare varietate de functii pentru...

Ai nevoie de altceva?