Sunteți pe pagina 1din 10

BIBLIOTECA STANDARD C

ALTE FUNCTII DIN <STDLIB.H> . <TIME.H>

<STDLIB.H>
FUNCII PENTRU CARACTERE MULTIBYTE

Standardul C face o distincie intre reprezentri multibyte ale caracterelor, care folosesc un
numr fix sau variabil de octeti pentru reprezentarea fiecrui caracter i wide characters,
care sunt reprezentri ale caracterelor in obiecte unice (de obicei, mai mari de 8 bii).

Funcii pentru astfel de reprezentri:


int mblen (const char* pmb, size_t max);
-obinem numrul de octei dintr-un caracter multibyte.
-pmb este pointer la primul octet din caracterul multibyte.
-numrul maxim de octeti pe care l poate avea caracterul multybite

Int mbtowc(wchar_t* pwc, const char* pmb, size_t max);


-pwc este pointer la un obiect de tipul wchar_t (folosit pentru wide characters).
-pmb este pointer la primul octet din caracterul multibyte.
-numrul maxim de octei e care l poate avea caracterul multibyte.

int wctomb(const char* pmb, wchar_t wc);


-pmb este pointer la un vector destul de mare ct s ncap caracterul multibyte.
-wc este caracterul pe care dorim s l convertim.

FUNCII PENTRU STRINGURI MULTIBYTE


int mbstowcs(wchar_t* dest, const char*src, size_t max);
-dest este pointer la un vector de tip wchar_t destul de mare.
-src este un string care contine caracterul care urmeaz a fi interpretat
-max este numrul maxim de caractere wchar_t care vor fi scrise la destinaie.

int wcstombs(char* dest, const wchar_t* src, size_t max);


-dest este pointer la un vector de tip char destul de mare.
-src este un wide string care urmeaz a fi interpretat
-max este numrul maxim de bii care vor fi scrise la dest.

FUNCII DE COMUNICARE CU MEDUL

void exit(int status);


-ncheie executia programului, realiznd operaii normale de cleanup (spre exemplu: nchiderea streamurilor,
golirea bufferelor).
-apeleaz funcia dat n atexit;
-dac status este 0 sau EXIT_SUCCESS indic un rezultat favorabil; dac status este EXIT_FAILURE, indic un eec al
programului.

void quick_exit(int status);


-ncheie executia programului; realizarea operaiilor normale de cleanup este dependent de implementare.
-apelezea funcia dat n at_quick_exit.

void _Exit(int status);


-ncheie executia programului, fr a realiza operaii de cleanup.
-nu se apeleaz funciile din atexit sau at_quick_exit.

void abort(void);
-transmite semnalul SIGABRT, care determin, n general, ncheierea execuiei programului.

void atexit(void (*func)(void));


-apeleaz la exit() o functie care nu returneaz nimic i nu primete argumente.

void at_quick_exit(void (*func)(void));


-apeleaz la at_quick_exit() o funcie care nu returneaz nimic i nu primete argumente

int system(const char* command);

-cere procesorului de comenzi executarea command; dac command este un pointer null, funcia doar verific dac
acesta este disponibil.

int getenv(const char* name);


-returneaz un string care returneaz variabila de mediu cerut, sau pointer null, daca aceasta nu exist.

FUNCII PENTRU GENERAREA DE NUMERE


PSEUDO-ALEATOARE

int rand(void);
-genereaz un numr aleator

Important: la fiecare rulare a acestui program, numrul generat este acelai.

Pentru a genera numere diferite la fiecare rulare a programului avem nevoie de un seed (o
selecie). Pentru aceasta, exist funcia:

void srand (unsigned int seed);


-iniializri diferite cu acelai seed vor genera aceleai rezultate n urma apelrii rand();
-n general, ca seed, este utilizat valoarea returnat de funcia time() .

<TIME.H>
<time.h> conine funcii pentru obinerea datei i informaiilor despre timp, dar i
tipuri de date destinate reprezentrii timpului.
Tipurile de date sunt:
- clock_t, care este alias-ul unui tip aritmetic, capabil sa numere tactul procesorului.
- time_t, alias_ul unui tip aritmetic, folosit pentru reprezentarea timpului; este
implementat in general ca o valoare ntreag care reprezint numrul de secunde care
au trecut de la 1 ianuarie 1970, ora 00:00 (timestamp-ul din Unix).
- structura tm, avnd componentele tm_sec, tm_min, tm_hour, tm_mday, tm_mon,
tm_year, tm_wday, tm_yday (numrul de zile de la 1 ianuarie), tm_isdst( ia n calcul
ora de var).
Functii pentru manipularea informaiilor despre timp:
- clock_t clock(void);
returneaz numrul de semnale de tact care au trecut n execuia programului
- double difftime (time_t end, time_t beginning);
returneaz diferena a dou momente de timp, n secunde, ntr-o varibil de tip
double;
- time_t mktime (struct tm *timeptr);
convertete structura tm la tipul time_t
-time_t time (time_t*, timer);
obine timpul actual ca valoare de tip time_t;

Funcii pentru convertirea reprezentrilor timpului


- char* asctime (const struct tm* timeptr);
transform structura de tip tm in ir de caractere.
- char* ctime (const time_t * timer);
transform date de tip time_t n ir de caractere.
- struct tm * gmtime (const time_t *timer);
transform date de tip time_t n pointer la o structur tm, care corespunde cu
reprezentarea n Coordinated Universal Time.
- struct tm * localtime (const time_t * timer);
transform date de tip time_t n pointer la structura tm, reprezentarea local a
timpului.
- size_t strftime (char* ptr, size_t maxsize, const char* format, const struct tm*
timeptr);
transform timpul n ir de caractere, primind printre parametri formatul datei i
orei; format este ales dintr-o serie de specificatori care ncep cu %, spre exemplu %a
pentru numele zilei, abreviat i %A pentru numele complet al zilei.

Prezentare reazlizat de Stoian Ioan Vlad


Surse: cplusplus.com

S-ar putea să vă placă și