Scrigroup - Documente si articole

     

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


Functii de citire si scriere a caracterelor

c



+ Font mai mare | - Font mai mic



Functii de citire si scriere a caracterelor

a) Functia fgetc()

int fgetc(FILE *fp)



Functia fgetc() intoarce urmatorul caracter al fisierului indirectat cu 'fp', caracter de tip unsigned char (convertit la int) sau EOF daca s-a detectat sfarsitul de fisier sau a aparut o eroare.

Exemplu de utilizare a functiei fgetc().

/* Acest program foloseste getc pentru a citi 80 de caractere dintr-un fisier si apoi le plaseaza dintr-un buffer la intrarea standard */

#include <stdio.h>

#include <stdlib.h>

void main( void )

  /* Adauga null la sfarsitul fisierului */

  buffer[i] = '0';

  printf( '%sn', buffer );

  fclose( stream );}

b) Functia getc()

int getc (FILE *fp)

Aceasta functie este identica cu fgetc() cu deosebirea ca este o macrodefinitie, putand sa evalueze fisierul mai mult decat o data.

Observatie: 'fp' este un pointer-fisier returnat de functia fopen(). Exemplu: Pentru a citi un fisier text pana la intalnirea indicatorului de sfarsit de fisier se scrie:

ch = getch (fp);

while (ch != EOF)

c) Functia getchar()

int getchar(void)

Functia getchar() este echivalenta cu getc (stdin) .

Dezavantajul functiei getchar() este ca aceasta poate pastra in bufferul de intrare nu unul, ci mai multe caractere, primul caracter fiind preluat dupa apasarea tastei CR.

d) Functiile getche() si getch()

int getche(void)

int     getch(void)

Functiile introduc un caracter de la tastatura. Functiile asteapta pana se apasa o tasta si apoi intorc valoarea acesteia. Functia getche() preia un caracter cu 'ecou' iar getch() preia caracterul fara ecou.

e) Functia gets()

char *gets(char *s)

Functia gets() citeste un sir de caractere introduse de la tastatura si il plaseaza in vectorul indirectat prin s. irul se termina cu 'n' ce va fi inlocuit cu '0'. Functia intoarce vectorul s sau EOF, in caz de eroare.

f) Functia fgets()

char *fgets(char *s, int n, FILE *fp)

Functia fgets() citeste in tabloul s cel mult n-1 caractere, oprindu-se daca a detectat NL (New Line) care este inclus in tablou, inlocuit prin'0'. Functia intoarce tabloul s, sau NULL, daca apare o eroare sau sfarsit de fisier.

Exemplu de folosire a functiei fgets.

/* Acest program utilizeaza fgets pentru afisarea unei linii dintr-un fisier la display */

#include <stdio.h>

void main( void )

a') Functia fputc()

int fputc(int ch, FILE *fp)

Functia fputc() scrie caracterul 'ch' convertit la unsigned char, in fisierul indirectat prin 'fp'. Intoarce valoarea caracterului scris, sau EOF, daca apare vreo eroare.

Exemplu de utilizare a functie fputc.

/* Acest program foloseste fputc si _fputchar pentru a trimite un sir de caractere la stdout. */

#include <stdio.h>

void main( void )

In general, functiile care incep cu _ (subliniere) dar si cu f (de la file) sunt destinate lucrului cu interfetele standard stdin si stdout.

b') Functia putc()

int putc(int ch, FILE *fp)

Functia putc() este echivalenta cu fputc() cu exceptia ca este o macrodefinitie, putand evalua fisierul mai mult decat o data.

c') Functia putchar()

int putchar(int ch)

Functia putchar(ch) este echivalenta cu putc (ch, stdout).

d') Functia de la punctul d) nu are un corespondent pentru iesire.

e') Functia puts()

int puts(const char *s)

Functia puts() scrie sirul 's' si NL in 'stdout'. Intoarce EOF, daca apare o eroare, sau o valoare nenegativa in caz contrar.

f') Functia fputs()

int fputs(const char *s,FILE *fp)

Functia fputs() scrie sirul 's' (care nu este neaparat necesar sa contina 'n') in fisierul 'fp'. Intoarce EOF, in caz de eroare, o valoare nenegativa, in caz contrar. Spre exemplu,

/* Acest program foloseste fputs pentru a scrie o linie la terminalul standard */

#include <stdio.h>

void main( void )

Functia ungetc()

int ungetc(int ch,FILE *fp)

Functia ungetc() pune argumentul 'ch' inpoi in fisier, de unde va fi preluat la urmatoarea citire. Se poate pune inapoi in fisier doar un singur caracter. Marcajul EOF nu poate fi pus inapoi. Functia intoarce caracterul ce trebuie pus, sau EOF, in caz de eroare.

Functiile getw() si putw()

Aceste functii se folosesc pentru a citi, respectiv a scrie intregi dintr-un sau intr-un fisier disc. Aceste functii lucreaza exact ca functiile getc() si putc().

Exemplu de utilizare a functiilor fprintf() si fscanf() :

Programul permite actualizarea unei agende telefonice.

# include 'stdio.h'

void ad_num(void); /*prototipul functiilor */

void cauta(void);

char menu(void);

void main()

} while (choice != 'q'); }

char menu() while (ch != 'q' && ch != 'a' && ch != 'c');

return ch; }

void ad_num() /* Adauga un nou numar */

printf('Introduceti numele si numarul: ');

fscanf(stdin,'%s%d%d%d',nume,&a_code,&schimb, &numar);

fscanf(stdin,'%*c');    /* inlatura CR din sirul de intrare */

/* Se scrie in fisier */

printf('%d',fprintf(fp,'%s %d %d %dn', nume, a_cod, schimb, numar));

fclose (fp); }

void cauta() /* Cauta un numar dandu-se un nume */

printf ('Nume ?'); gets (nume);

/* Se cauta numarul */

while (!feof (fp)) }

fclose (fp);}



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1401
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