Standardna knjižnjica C
Povratek
na kazalo
Nazaj
Naprej
Funkcije z nizi
int strlen( s) |
Vrne število znakov v nizu s (brez nultega znaka). |
char *strchr(s, c) |
Vrne kazalec na prvi nastop znaka c v nizu s. (sicer vrne NULL) |
char *strrchr(s, c) |
Vrne kazalec na zadnji nastop znaka c v nizu s. |
int strcpy (s2, s1) |
Kopira niz s1 v niz s2. |
int strncpy(s2, s1, n) |
Kopira niz s1 v niz s2, vendar največ n znakov. |
char *strcmp (s2, s1) |
Primerja niza in vrne:
-
pozitivno vrednost če je s2>s1,
-
0..če je s2=s1
-
negativno vrednost sicer
|
char *strncmp(s2, s1) |
Podobno kot strcmp, vendar primerja največ n znakov |
char * strstr(s2, s1) |
V nizu s2 išče podniz s1 in vrne kazalec nanj |
Konverzija podatkov
Pri pregledu naslednjih funkcij za konverzijo podatkov imejmo
definirano:
#include < stdio.h >
int base;
char *s, *end;
int atoi (s) |
Pretvorba števila v nizu s v format int. |
long atol (s) |
Pretvorba števila v nizu s v format long int |
double atof (s) |
Pretvorba števila v nizu s v format double |
double strtod (s,end) |
Pretvorba števila v nizu s, pisanem v znanstveni notaciji. Funkcija
nastavi kazalec end na znak, ki je zaključil pretvorbo |
long strtol (s, end, base)
unsigned long strtoul (s, end, base) |
Konverzija niza s v long oziroma unsigned long. Pri tem je base
uporabljena osnova (mora biti med 2 in 36). Vodeče ničle so ignorirane. |
Konverzija z uporabo polja
Splošna oblika:
char polje[80];
. . . . . . .
int sscanf(polje,format, &arg1, &arg2,..);
int sprintf(polje, format, arg1, arg2,..);
Opomba:
sscanf vrne število uspešno prebranih elementov. sprintf
vrne število uspešno zapisanih znakov.
Primer:
#include < stdio.h >
char bufer[100];
float vrednost;
main() {
scanf("%s", bufer); /* preberemo niz */
sscanf(bufer, "%f", &vrednost ); /* konverzija */
printf("Vrednost je: %f \n", vrednost);
}
Funkcije z znaki
So deklarirane v datoteki ctype.h.
Zato imejmo:
#include < ctype.h >
int c;
Na voljo imamo naslednje funkcije:
int isalpha (c) |
int isupper (c) |
int islower(c) |
int isalnum (c) |
int isdigit (c) |
int isprint (c) |
int iscntrl (c) |
int ispunct (c) |
int isspace (c) |
int toupper (c) |
int tolower (c) |
int toascii (c) |
Primer:
Konverzija črk niza v velike črke
i = 0;
while (s[i] != 0) {
if ( isalpha( s[i] )) s[i]= toupper(s[i++ ]);
}
/* ali pa z uporabo kazalca... */
while (*s != 0) if ( isalpha(*s)) {
*s = toupper(*s); s++;
}
Matematične funkcije
So deklarirane v datoteki math.h.
Zato imejmo:
#include < math.h >
double x, y , *pd ;
long k;
int *pi , i;
Na voljo imamo:
int abs (i) |
ilong labs ( k ) |
double fabs (x) |
double fmod (x, y) |
Vrne ostanek deljenja x / y |
double modf (x, pd) |
double ldexp (x, i) |
Vrne (x* (2 na i) ) |
double frexp (x, pi) |
double floor (x) |
Vrne največji integer, ki se gre v x |
double ceil (x) |
Vrne najmanjši integer,ki ni manjši od x |
double sqrt (x) |
double pow (x, y) |
double sin (x) |
double cos(x) |
double tan(x) |
double asin (x) |
double acos (x) |
double atan (x) |
double atan2 (x) |
Vrne arctangens y/x. Uporabi predznaka argumentov za določitev kvadranta |
double exp (x) |
double log (x) |
double log10 (x) |
Povratek
na kazalo
Nazaj
Naprej