Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Functii cu acces direct

c



+ Font mai mare | - Font mai mic



Functii cu acces direct

a) Functia fread()

Permite citirea unui bloc de date. Forma generala de declarare:



int fread(void *buffer,int num_bytes,int count,FILE *fp)

Functia fread() citeste din fisierul specificat prin 'fp' cel mult 'count' obiecte, fiecare obiect avand lungimea egala cu 'num_bytes' si ii trimite in zona de memorie indirectata prin 'buffer' .

*fp este un pointer fisier la fisierul deschis anterior cu fopen().

Functia intoarce numarul de obiecte citite, acesta putand fi mai mic decat cele cerute. Pentru a determina starea functiei se pot utiliza functiile feof(), ferror().

b) Functia fwrite()

Permite scrierea unui bloc de date. Forma generala de declarare:

int fwrite(void *buffer,int num_bytes,int count, FILE *fp)

Functia fwrite() scrie din zona (tabloul) 'buffer' in fisierul indirectat prin 'fp', 'count' obiect de lungime 'nr_bytes'. Functia intoarce numarul de obiecte scrise, care, in caz de eroare este mai mic decat 'count'.

Exemplu: Programul urmator scrise un numar real pe disc

# include 'stdio.h'

void main()

fwrite (&f, sizeof (float), 1, fp);

fclose (fp); }

Asa cum se vede din acest program, 'buffer' poate fi o simpla variabila.

Exemplu: Programul urmator copiaza un tablou de numere reale 'balance', in fisierul 'balance':

# include 'stdio.h'

void main()

. . . . . . . . . . . . . . . . .

fwrite (balance, sizeof (balance), 1, fp);

. . . . . . . . . . . . . . . . .

fclose (fp); }

Exemplu: Programul urmator deschide fisierul FREAD.OUT si scrie in el 25 de caractere si apoi il redeschide si citeste din nou caracterele din fisier dupa care afiseaza numarul caracterelor citite si continutul.

#include <stdio.h>

void main( void )

else

printf( 'Probleme cu deschiderea fisieruluin' );

if( (stream = fopen( 'fread.out', 'r+t' )) != NULL )

else

printf( 'Fisierul nu a putut fi deschisn' );}

In urma executie programului se obtine:

S-au scris 25 caractere

Nr. caracterelor citite = 25

Continutul bufferului = zyxwvutsrqponmlkjihgfedcb

Press any key to continue



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 854
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved