Capitolul 7.9. Cateva functii amestecate
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Capitolul 7.9. Cateva 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 conversia lor
Mai multe macrouri executa teste asupra caracterelor si conversia 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.
Capitolul 8 prezinta implementarea unui alocator de memorie ca calloc, in care blocurile alocate pot fi eliberate in orice ordine.
Testarea clasei caracterelor si conversia lor
Mai multe macrouri executa teste asupra caracterelor si conversia 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.
Capitolul 8 prezinta implementarea unui alocator de memorie ca calloc, in care blocurile alocate pot fi eliberate in orice ordine.
Subiecte similare
» Capitolul 3.5. WHILE si FOR
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 2.3. Constante
» Capitolul 3.7. Break
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 2.3. Constante
» Capitolul 3.7. Break
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|