(too many open),ENOENT(no such file or directort),ENOEXEC(bad format),
ENOMEM(Mcb destroyed/out of memory/bad block),EXDEV(bad drive/not same
device).Codurile sunt pentru erorile sistemului DOS si sunt mostenite din
UNIX impreuna cu variabila errno.Se utilizeaza impreuna cu errno sau cu
perror(indirect). _environ este o arie de pointeri spre siruri de date.Se utilizeaza pentru
a accesa si modifica variabilele din mediul de memorie.Fiecare sir de
date are forma generala de tipul: envar=varvalue (unde envar este
numele variabilei de memorie iar varvalue este valoarea atribuita pentru
variabila respectiva Exemplu: PATH=C:\BC5\BIN\DATE ).Aria de date din
_environ poate fi accesata cu getenv() si cu putenv() (vezi functiile). errno -este o variabila globala (definita in errno.h) utilizata de catre
perror() pentru a afisa un mesaj predefinit in caz de eroare de executie.
Uneori este echivalenta cu _doserrno iar in alte cazuri nu contine si
codurile de eroare ale sistemului DOS. EXIT_FAILURE si EXIT SUCCESS sunt constante pentru definirea conditiei de
apelare a functiei exit() si specifica terminarea normala sau anormala a
programului (vezi exit() ). _fmode -este o variabila globala (din fcntl.h) care determina daca o
fila va fi deschisa in modul text sau in mod binar.Poate lua valorile:
O_TEXT(valoarea implicita) si respectiv O_BINARY.Acelasi rezultat se
obtine utilizand literele t(text) sau b(binary).Se utilizeaza cu open(). NULL este o constanta compatibila cu orice tip de pointer cu exceptia
celor care pointeaza spre functii.Cand un pointer este NULL este garantat
ca acel pointer nu pointeaza nici o data definita in programul curent. RAND_MAX-este constanta care arhiveaza valoarea maxima returnata de rand() size_t -este tipul de data utilizat de sizeof() (definita in stddef.h) _version este variabila globala care salveaza versiunea sistemului (numar) wchar_t este tipul de data pentru caracterele extinse (wide character).
Orice caracter precedat de L este o constanta de tip wide character.
In C++ wchat_t este cuvant cheie.
-180- [ stdarg.h ]
BIBLIOTECA C -FILA ANTET stdarg.h (este la fel in C si in C++)
Defineste macrourile va_arg,va_end si va_start si respectiv tipul de
data va_list,utilizate pentru citirea argumentelor din lista de argumente
in cazul functiilor care accepta un numar variabil de argumente (Exemple:
in cazul functiilor vprintf(),vscanf() etc...). MACROURILE va_arg,va_end si va_start
-se utilizeaza pentru a interpreta o lista de argumente variabile
SINTAXA GENERALA este:
void va_start(va_list ap,lastfix);
type va_arg(va_list ap,type);
void va_end(va_list ap);
unde:
lastfix -este parametrul ce precede primul parametru optional
ap -este pointerul spre lista de argumente variabile
type -tipul de argument ce va fi returnat de functie
Datele necesare pentru executia functiei se vor arhiva intr-o arie de
date de tip special declarata cu va_list (Exemplu: va_list date1)
va_start :-seteaza functia la primul argument ce va fi evaluat.Trebuie sa
fie declarata inainte de va_arg si va_end
va_arg :-evalueaza expresia pentru argumentul din lista curent.Nu se
poate utiliza pentru tipurile de date char,unsigned char si float
La prima utilizare,va_arg returneaza primul argument din lista,
apoi cel de al doilea si asa mai departe pana la epuizarea listei
va_end :-incheie executia functiei si determina revenirea normala la
nivelul de program de la care s-a apelat functia.va_end modifica
adresa pointerului ap de asa maniera incat functia nu va mai
putea fi reutilizata decat dupa o noua declaratie va_start.Nu se
va apela va_end decat dupa dupa ce va_arg a epuizat toate argu-
mentele din lista.
va_arg returneaza argumentul evaluat,va_start|va_end nu returneaza nimic
EXEMPLU: #include
#include
#include
int total=0;
int numar;
va_list aduna;
sum(char *mesaj,...)
{
va_start(aduna,mesaj);
while((numar=va_arg(aduna,int)) !=0)
{ total += numar; }
printf(mesaj,total);
va_end(aduna);
}
main()
{
sum("Suma numerelor ce urmeaza este: %d \n",11,35,5,13,2,36,0);
sleep(5);
}
Inlocuiti numerele din lista,sau adaugati altele si repetati exemplul.
-181- [ ]
BIBLIOTECA C -FILA ANTET stddef.h
In versiunea C contine doar definitii pentru : errno,NULL,ptrdiff_t si
size_t.In versiunea C++ se adauga si _threadid,wchar_t si functia offsetof
Se utilizeaza doar pentru functiile din alte file header(biblioteci) care
opereaza cu tipurile de date definite in stddef. NULL este o constanta compatibila cu orice pointer care garanteaza ca
pointerul respectiv nu pointeaza nici o data din program. errno este o variabila globala utilizata de functia perror pentru a
returna mesaje atunci cand anumite functii din program nu pot fi executate
Uneori este echivalenta cu _doserrno.In versiunea C++ este definita intr-o
biblioteca speciala denumita errno.h(impreuna cu _doserrno,_sys_errlist,
sys_nerr si error number definitions).Se utilizeaza pentru a seta mesaje
de eroare. ptrdiff_t este un tip de data signed int care reprezinta rezultatul
obtinut prin operatia de scadere dintre doi pointeri(adresa). size_t este un tip de data unsigned integer returnat de catre operatorul
sizeof. _threadid este o variabila globala de tip long int care contine adresa
stivei aflata in executie.Este implementat sub forma de macro si poate fi
declarat doar dupa includerea filei .(unele variabile globale,
constante sau tipuri de date sunt definite in doua sau mai multe biblio-
teci.) wchar_t este tipul de date pentru caracterele wide (vezi stdlib.h)