next up previous contents
Next: declarate în conio.h Up: Functii de intrare-iesire Previous: Functii de intrare-iesire   Cuprins


declarate în stdio.h

getchar

Prototip:

int getchar(void);

Efect: returneaza un caracter citit de la tastatura sau constanta simbolica EOF daca s-a întâlnit sfârsitul fisierului de intrare (perechea CTRL-Z).

Observatie: Functia asteapta apasarea tastei Enter.



putchar

Prototip:

int putchar(int c);

Efect: afiseaza caracterul c pe ecran; returneaza caracterul afisat sau valoarea EOF la detectia unei erori.



gets

Prototip:

char *gets(char *s);

Efect: citeste un sir de caractere s de la tastatura pâna la întâlnirea caracterului newline ($\backslash$n); returneaza adresa sirului citit sau valoarea NULL daca s-a citit CTRL-Z. Caracterul newline nu este memorat în sir.

Observatie: Deoarece este imposibil de prevazut câte caractere vor fi citite de la tastatura într-o operatie de introducere de siruri, si deoarece gets nu verifica lungimea alocata sirului destinatie, folosirea acestei functii în programele importante poate duce la efecte "neplacute" (prin scrierea datelor citite peste zone de memorie alocate altor variabile). Acest "bug" a dus la "spargerea" multor sisteme vechi care foloseau gets pentru citirea parolei.

puts

Prototip:

int puts(char *s);

Efect: afiseaza pe ecran sirul s urmat de caracterul newline.



printf

Prototip:

int printf(char *format, arg1, arg2, ...);

Efect: afiseaza pe ecran valorile din lista de argumente, conform formatului specificat. Sirul format poate contine caractere ordinare, care se vor afisa ca atare, si descriptori de format prefixati de caracterul %.

Un descriptor de format poate contine în ordine urmatoarele:

În tabelul 2.1 sunt prezentate caracterele de conversie cele mai uzuale ce pot aparea în descriptorii de format.

Tabela 2.1: Descriptori de format
Caracter Valoare
d,i întreg zecimal
o întreg octal fara semn
x, X întreg hexazecimal fara semn
u întreg zecimal fara semn
c caracter
s sir de caractere
f real simpla precizie
lf real dubla precizie




scanf

Prototip:

int scanf(char *format, adr1, adr2,...);

Efect: citeste caractere de la tastatura, conform formatului, si înscrie valorile citite la adresele specificate. Functia returneaza numarul de câmpuri citite cu succes sau valoarea EOF la întâlnirea sfârsitului fisierului de intrare. Sirul format poate contine:

Specificatorii de conversie determina modul de conversie a câmpurilor de intrare. Un câmp de intrare se defineste ca o secventa de caractere, altele decât spatiile albe ale limbajului: blank, tab, newline, carriage return, formfeed, tab vertical.

De exemplu, pentru citirea unei linii de forma:

6 Mar 1996

se va scrie urmatoarea secventa:

int zi, an;
char luna[4];

scanf("%d %s %d", &zi, luna, &an);
Se observa ca la variabilele zi si an s-a folosit operatorul de adresa &; la variabila luna, el nu apare deoarece în limbajul C numele unui tablou este echivalent cu adresa sa (este un pointer catre primul sau element).

Observatie: Pentru mai multe informatii privind functiile scanf si printf consultati fisierul de help prezent în mediul de programare utilizat.



sscanf

Prototip:

int sscanf(char *sir,char *format, adr1, adr2,...);

Efect: citeste date cu formatare; spre deosebire de scanf la care citirea se face de la tastatura (dispozitivul standard de intrare), la sscanf citirea datelor se face dintr-un sir.





next up previous contents
Next: declarate în conio.h Up: Functii de intrare-iesire Previous: Functii de intrare-iesire   Cuprins
Cristian Gavrila 2001-10-02