DODATEK B BIBLIOTEKA STANDARDOWA ____-
różną od zera (prawda), jeśli argument c spełnia podany warunek albo należy do wskazanej klasy znaków; w przeciwnym przypadku zwracają zero.
isalnum(c)
isalpha(c)
iscntrl(c)
isdigit(c)
isgraph(c)
islower(c)
isprint(c)
ispunct(c)
isspace(c)
isupper(c)
isxdigit(c)
prawdą jest albo isalpha(c), albo isdigit(c) prawdą jest albo isupper(c), albo islower(c) znak kontrolny cyfra dziesiętna
znak drukowalny za wyjątkiem odstępu
mała litera * • ... :
znak drukowalny łącznie z odstępem
znak drukowalny za wyjątkiem odstępu, liter i cyfr
odstęp, nowa strona, nowy wiersz, powrót karetki, tabulator,
pionowy tabulator
wielka litera
cyfra szesnastkowa
W siedmiobitowym zbiorze znaków ASCII znaki drukowalne mieszczą się w przedziale między 0x20 (’ ’) i 0x7E do znaków kontrolnych należą znaki z przedziału między 0 (NUL) i 0x1 F (US) oraz znak 0x7F (DEL).
Dwie dodatkowe funkcje służą do zmiany wielkości liter:
int tolower(int c) zamienia c na małą literę int toupper(int c) zamienia c na wielką literę
Jeśli c jest wielką literą, to funkcja tolower(c) zwróci odpowiednią małą literę; w przeciwnym przypadku zwróci c. Jeśli c jest małą literą, to funkcja toupper(c) zwróci odpowiednią wielką literę; w przeciwnym przypadku zwróci c.
W nagłówku <string.h> są zdefiniowane dwie grupy funkcji operujących na tekstach. Do pierwszej grupy należą funkcje, których nazwy rozpoczynają się od str, do drugiej grupy - od mem. Z wyjątkiem funkcji memmove, skutek kopiowania obiektów, które częściowo się pokrywają, nie jest zdefiniowany. Argumenty funkcji porównujących są traktowane jak tablice obiektów typu unsigned char.
W poniższym zestawieniu argumenty s i t są typu char *, argumenty cs i ct są typu const char *, argument n jest typu size_t, a argument c jest obiektem typu int przekształconym do typu char.
kopiuje tekst z ct do s łącznie ze znakiem kopiuje co najwyżej n znaków tekstu z ct do s; jeżeli ct ma mniej niż n znaków, dopełnia s znakami ’\0’; zwraca s dopisuje znaki tekstu z ct na koniec tekstu w s; zwraca s dopisuje co najwyżej n znaków tekstu ct na koniec tekstu w s; tekst w s kończy znakiem ’\0’; zwraca s porównuje teksty zawarte w cs i ct; zwraca wartość < 0 dla cscct, wartość 0 dla cs==ct lub wartość > 0 dla cs>ct porównuje co najwyżej n znaków tekstów zawartych w cs i ct; zwraca wartość < 0 dla cscct, wartość 0 dla cs = = ct lub wartość > 0 dla cs>ct
•yl’; Ol
char *strcpy(s,ct) char *strncpy(sfct,n)
char *strcat(s,ct) char *strncat(s,ct,n)
int strcmp(cs.ct)
int strncmpCcs.ct.n)
char *strchr(cs,c) char *strrchr(cs,c) size_t strspn(cs,ct) size_t strcspn(cs.ct) char *strpbrk(cs,ct)
char *strstr(cs,ct)
size_t strlen(cs) char *strerror(n)
char *strtok(s,ct)
zwraca wskaźnik do pierwszego wystąpienia znaku C w tekście cs
lub NULL, jeśli ten znak nie występuje
zwraca wskaźnik do ostatniego wystąpienia znaku c w tekście cs
lub NULL, jeśli ten znak nie występuje
zwraca długość przedrostka w tekście cs składającego się ze
znaków występujących w ct
zwraca długość przedrostka w tekście CS składającego się ze znaków nie występujących w ct
zwraca wskaźnik do pierwszego wystąpienia w tekście cs któregokolwiek ze znaków tekstu ct lub NULL, jeśli żaden ze znaków ct nie występuje w cs
zwraca wskaźnik do pierwszego wystąpienia tekstu ct w tekście cs lub NULL, jeśli ct nie występuje w cs zwraca długość tekstu cs
zwraca wskaźnik do (zależnego od implementacji) tekstu komunikatu odpowiadającego błędowi o numerze n wyszukuje w tekście s ciągi znaków przedzielone znakami z ct - patrz niżej
Szereg wywołań funkcji strtok dzieli tekst zawarty w s na ciągi znaków rozdzielone znakami z tekstu ct. Za pierwszym razem funkcję woła się z argumentem s różnym od NULL. Funkcja znajduje w s pierwszy ciąg złożony ze znaków nie należących do ct; ogranicza go, zastępując następny znak w s znakiem ’\0\ i zwraca wskaźnik do początku tego ciągu. Każde następne wywołanie funkcji, tym razem z argumentem s równym NULL, zwróci kolejny taki ciąg, rozpoczynając szukanie za koncern poprzednio znalezionego ciągu. Funkcja strtok zwróci NULL, gdy nie znajdzie więcej ciągów. Przy każdym wywołaniu argument ct może być inny.
Funkcje mem... służą do operowania na obiektach traktowanych jak tablice znakowe; z założenia mają one działać bardzo sprawnie. W poniższym zestawieniu argumenty
333