Tipul char (cap 6).


 Tipul char.


Ne propunem să vedem unde găsim şi care sunt principalele funcţii scrise pentru tipul
char din limbajul C.
Tipul char a fost prezentat la capitolul dedicat tipurilor întregi de date. Informaţia
reţinută într-o valoare de tip char poate fi interpretată în C ca un caracter al tabelei ASCII. De
acest lucru o să ne ocupăm în acest capitol.
Definiţiile principalelor funcţii de lucru cu caractere în C le găsim în fişierul antet
ctype.h. Dintre aceste funcţii o să le prezentăm numai pe cele mai importante şi mai utile. Facem
observaţia că toate funcţiile de mai jos returnează o valoare de tip int şi primesc ca argument un
caracter:

1) isalnum(c) returnează valoare de adevărat (nenulă) dacă c este un caracter alfa-numeric
(litera mică, literă mare sau cifră), altfel se returnează 0.
2) isalpha(c) returnează valoare de adevărat (nenulă) dacă c este o literă, altfel se
returnează 0.
3) isdigit(c) returnează valoare de adevărat (nenulă) dacă c este o cifră, altfel returnează
0.
4) isxdigit(c) returnează valoare de adevărat (nenulă) dacă c este cifră hexazecimală (0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, f), altfel se returnează 0.
5) islower(c) returnează valoare de adevărat (nenulă) dacă c este literă mică, altfel
returnează 0.
6) isupper(c) returnează valoare de adevărat (nenulă) dacă c este literă mare, altfel
returnează 0.
7) tolower(c) returnează transformarea caracterului c în litera mică dacă este literă mare,
altfel se returnează valoarea lui c nemodificată.
8) toupper(c) returnează transformarea caracterului c în litera mare dacă este literă mică,
altfel se returnează valoarea lui c nemodificată.
Şi în fişierul antet conio.h întâlnim câteva funcţii legate de tipul char:

1) getch() citeşte un caracter de la tastatură, fără ecou pe ecranul monitorului. Funcţia
returnează caracterul citit fără a-l afişa pe ecran.
2) getche() citeşte un caracter de la tastatură, se returnează caracterul citit după ce este
afişat pe ecran (cu ecou).
3) putch(c) afişează pe ecran caracterul c primit ca argument de funcţie. Se ţine cont de
eventuala fereastră text definită cu funcţia window.
4) kbhit() verifică dacă în buffer-ul de intrare de la tastatură există caractere. Cu alte
cuvinte se verifică dacă s-a apăsat un buton de la tastatură. Dacă buffer-ul este nevid, atunci se
returnează o valoare nenulă.
Programul următor afişează codul ASCII pentru o literă mică preluată de la tastatură:
char c;
c=getch();
if (97<=c && c<=’z’)
printf("Litera mica %c cu codul ASCII %d!\n",c,c);
while (kbhit()) getch(); /* golire buffer */
printf("Apasati Escape pentru a parasi programul");
do c=getch();
while (c!=27 && c!=13); /* se paraseste daca se apasa
Esc sau Enter */
if (c==27) exit(0); /* Functia exit intrerupe executia
programului */
Rezumat
Tipul caracter coexistă în C cu tipul întreg de date. Funcţiile special scrise pentru tipul
caracter au antetele definite în fişierul ctype.h.

0 comentarii:

Trimiteți un comentariu