C standard library (tsz. C standard libraries)
A könyvtár különböző fejlécekből (header fájlokból) áll, amelyek egy-egy témakörhöz kapcsolódó függvényeket tartalmaznak. Az alábbiakban a legfontosabbakat ismertetjük.
stdio.h
)Ez a fejléc tartalmazza azokat a függvényeket, amelyek lehetővé teszik a fájlokkal és a szabványos be- és kimenettel való munkát.
printf()
, fprintf()
, sprintf()
– formázott kiírásscanf()
, fscanf()
, sscanf()
– formázott beolvasásgetchar()
, putchar()
– egyetlen karakter beolvasása vagy kiírásafopen()
, fclose()
, fread()
, fwrite()
– fájlkezelés
string.h
)Ez a fejléc olyan függvényeket tartalmaz, amelyek karakterláncokkal (nullával lezárt karaktertömbökkel) végzett műveletekre használhatók.
strlen()
– a karakterlánc hosszának meghatározásastrcpy()
, strncpy()
– karakterlánc másolásastrcat()
, strncat()
– karakterláncok összefűzésestrcmp()
, strncmp()
– karakterláncok összehasonlításastrchr()
, strstr()
– karakter vagy részstring keresése
stdlib.h
, malloc.h
)A dinamikus memóriafoglalásért és egyéb segédfunkciókért felelős.
malloc()
, calloc()
– memória foglalásarealloc()
– foglalt memória újraméretezésefree()
– lefoglalt memória felszabadításaatoi()
, atof()
– string átalakítása számokká
math.h
)Matematikai számításokat végző függvények találhatók itt.
sqrt()
– négyzetgyökpow()
– hatványozássin()
, cos()
, tan()
– trigonometriai függvényeklog()
, exp()
– logaritmus és exponenciális függvények
time.h
)Az idővel és dátummal kapcsolatos műveleteket tartalmazza.
time()
– az aktuális idő másodpercben az epoch ótaclock()
– a program futási idejestrftime()
– formázott dátum és idő kiírásadifftime()
– két időpont közötti különbség
stddef.h
, stdint.h
, limits.h
)Ezek a fejlécek különböző adattípusokat és azok méretét határozzák meg.
size_t
– unsigned int típusú méretNULL
– null mutatóINT_MAX
, INT_MIN
– egész számok határértékei
stdlib.h
)A pszeudovéletlenszámok generálásához használható függvényeket tartalmazza.
rand()
– véletlenszám generálásasrand()
– véletlenszám-generátor inicializálása
signal.h
, setjmp.h
)A programfutás megszakítását és kivételkezelést biztosítja.
signal()
– egy adott jel kezeléseraise()
– jel küldése a programnaksetjmp()
, longjmp()
– nem helyi ugrás
stdlib.h
, unistd.h
, process.h
)A rendszerfüggő műveletek és környezeti változók elérését biztosítja.
exit()
– a program kilépésesystem()
– rendszerparancs végrehajtásagetenv()
– környezeti változók lekérése
A C szabványos könyvtár kulcsfontosságú eszköz a fejlesztők számára, amely lehetővé teszi a programok hatékonyabb megírását anélkül, hogy újra kellene implementálni az alapvető funkciókat. A fent említett fejlécek és függvények biztosítják a fájlkezelést, karakterlánc-műveleteket, memóriafoglalást, matematikai számításokat, időkezelést, véletlenszám-generálást, valamint egyéb rendszerhívásokat.