Citeva functii amestecate
Biblioteca standard pune la dispozitie o varietate de functii,
citeva fiind deosebit de utile. Am mentionat deja functiile cu
siruri strlen, strepy, strcat si strcmp. Urmeaza alte citeva.
Testarea clasei caracterelor si con 14514j921o versia lor
Mai multe macrouri executa teste asupra caracterelor si con 14514j921o versia
lor:
isalpha(c) nonzero daca c este alfabetic si zero daca nu.
isupper(c) nonzero daca c este litera mare (upper case)si 0 dacanu.
islower -nonzero daca c este caracter mic (lower case)si 0 daca nu.
isdigit -nonzero daca c este digit si zero daca nu.
isspace -nonzero daca c ete blanc, tab sau newline si 0 daca nu.
toupper -converteste c in caracter mare (upper case)
tolower(c) -converteste c in caracter mic (lower case).
Ungetc
Biblioteca standard contine o versiune restrictiva a functiei
ungetch pe care am scris--o in capitolul 4; se numeste ungetch.
ungetch(c, fp)
impinge caracterul c inapoi in fisierul fp. Numai un caracter din
fisierc poate fi tratat astfel ungetc poate fi utilizat cu
oricare din functii le si macrouruile de introducere ca scanf,
getc sau getchar.
Apel system
Apelarea functiei system(s) executa comanda continuta in sirul
de caractere s apoi reia programul curent. Continutul lui s
depinde mult de sistemul de operare. Ca un exemplu ordinar in UNIX
linia
system("date");
determina rularea parogramului date care tiparesete data si
momentul zilei.
Managementul memoriei
Functia calloc este asemanatoare cu alloc pe care am utilizat-o
in capitolele precedente.
calloc(n, sizeof(object))
returneaza un pointer daca este suficient spatiu pentru cele
n obiecte de dimensiunea specificata sizeof sau NULL daca
cererea poate fi satis facuta. Memoria este initializata cu zero.
Pointerul are aliniamentul adecvat obiectelor respective,
dar el trebuie introdus intr-un tip corespunzator.
cfree(p) elibereaza spatiul pointat prin p unde p este initial
obtinut prin apelarea lui calloc. Nu exista restrictii asupra
ordinii in care spatiul este eliberat, dar este o mare
greseala sa eliberezi ceva ce nu ai obtinut prin apelarea functiei
calloc.