Vous êtes sur la page 1sur 6

UMMTO

Facult du gnie lectrique et informatique


Dpartement Informatique

2009-2010
Semestre 2

Annexe : La librairie standard


Cette annexe donne la syntaxe des principales fonctions de la librairie standard.

A.1 Entres-sorties <stdio.h>


A.1.1 Manipulation de fichiers
fonction action
fopen ouverture d'un fichier
fclose fermeture d'un fichier
fflush criture des buffers en mmoire dans le fichier

A.1.2 Entres et sorties formates


fonction prototype
fprintf int
fscanf int
printf int
scanf

int

sprintf int
sscanf int

action
fprintf(FILE *stream, char *format, ...) criture sur un fichier
fscanf(FILE *stream, char *format, ...) lecture depuis un fichier
printf(char *format, ...)
criture sur la sortie standard
lecture depuis l'entre
scanf(char *format, ...)
standard
criture dans la chane de
sprintf(char *s, char *format, ...)
caractres s
lecture depuis la chane de
sscanf(char *s, char *format, ...)
caractres s

A.1.3 Impression et lecture de caractres


fonction prototype

action
fgetc
int fgetc(FILE *stream)
lecture d'un caractre depuis un fichier
fputc
int fputc(int c, FILE *stream)
criture d'un caractre sur un fichier
quivalent de fgetc mais implment par
getc
int getc(FILE *stream)
une macro
quivalent de fputc mais implment par
putc
int putc(int c, FILE *stream)
une macro
lecture d'un caractre depuis l'entre
getchar int getchar(void)
standard
criture d'un caractre sur la sortie
putchar int putchar(int c)
standard
lecture d'une chane de caractres depuis
fgets
char *fgets(char *s, FILE *stream)
un fichier
fputs
int *fputs(char *s, FILE *stream) criture d'une chane de caractres sur un
1

LICENCE 2 - STD2
me
M F .Aitelhadj

UMMTO
Facult du gnie lectrique et informatique
Dpartement Informatique

gets

char *gets(char *s)

puts

int *puts(char *s)

2009-2010
Semestre 2

fichier
lecture d'une chane de caractres sur
l'entre standard
criture d'une chane de caractres sur la
sortie standard

A.2 Manipulation de caractres <ctype.h>


Toutes les fonctions ci-dessous permettent de tester une proprit du caractre pass en
paramtre. Elles renvoient la valeur 1 si le caractre vrifie la proprit et 0 sinon. Leur
prototype est :
int fonction(char c)
fonction renvoie 1 si le caractre est
isalnum une lettre ou un chiffre
isalpha une lettre
iscntrl un caractre de commande
isdigit un chiffre dcimal
isgraph un caractre imprimable ou le blanc
islower une lettre minuscule
isprint un caractre imprimable (pas le blanc)
ispunct un caractre imprimable qui n'est ni une lettre ni un chiffre
isspace un blanc
isupper une lettre majuscule
isxdigit un chiffre hexadcimal
On dispose galement de deux fonctions permettant la conversion entre lettres minuscules et
lettres majuscules :

fonction prototype

action
convertit c en minuscule si c'est une lettre majuscule,
tolower int tolower(int c)
retourne c sinon.
convertit c en majuscule si c'est une lettre minuscule,
toupper int toupper(int c)
retourne c sinon.

LICENCE 2 - STD2
me
M F .Aitelhadj

UMMTO
Facult du gnie lectrique et informatique
Dpartement Informatique

2009-2010
Semestre 2

A.3 Manipulation de chanes de caractres <string.h>


fonction prototype

action
copie la chane ch2 dans la
strcpy char *strcpy(char *ch1, char *ch2)
chane ch1 ; retourne ch1.
copie n caractres de la chane
strncpy char *strcpy(char *ch1, char *ch2, int n) ch2 dans la chane ch1 ;
retourne ch1.
copie la chane ch2 la fin de
strcat char *strcat(char *ch1, char *ch2)
la chane ch1 ; retourne ch1.
copie n caractres de la chane
strncat char *strncat(char *ch1, char *ch2, int n) ch2 la fin de la chane ch1 ;
retourne ch1.
compare ch1 et ch2 pour
l'ordre lexicographique ;
retourne une valeur ngative si
strcmp int strcmp(char *ch1, char *ch2)
ch1 est infrieure ch2, une
valeur positive si ch1 est
suprieure ch2, 0 si elles sont
identiques.
compare les n premiers
strncmp int strcmp(char *ch1, char *ch2, int n)
caractres de ch1 et ch2.
retourne un pointeur sur la
premire occurence de c dans
strchr char *strchr(char *chaine, char c)
chaine, et NULL si c n'y figure
pas.
retourne un pointeur sur la
dernire occurence de c dans
strrchr char *strchr(char *chaine, char c)
chaine, et NULL si c n'y figure
pas.
retourne un pointeur sur la
premire occurence de ch2
strstr char *strchr(char *ch1, char *ch2)
dans ch1, et NULL si ch2 n'y
figure pas.
retourne la longueur de
strlen int strlen(char *chaine)
chaine.

A.4 Fonctions mathmatiques

<math.h>

Le rsultat et les paramtres de toutes ces fonctions sont de type double. Si les paramtres
effectifs sont de type float, ils seront convertis en double par le compilateur.
3

LICENCE 2 - STD2
me
M F .Aitelhadj

UMMTO
Facult du gnie lectrique et informatique
Dpartement Informatique

2009-2010
Semestre 2

fonction action
acos
arc cosinus
asin
arc sinus
atan
arc tangente
cos
cosinus
sin
sinus
tan
tangente
cosh
cosinus hyperbolique
sinh
cosinus hyperbolique
tanh
tangente hyperbolique
exp
exponentielle
log
logarithme nprien
log10 logarithme en base 10
pow
puissance
sqrt
racine carre
fabs
valeur absolue
fmod
reste de la division
ceil
partie entire suprieure
floor partie entire infrieure

A.5 Utilitaires divers <stdlib.h>


A.5.1 Allocation dynamique
fonction action
calloc allocation dynamique et initialisation zro.
malloc allocation dynamique
realloc modifie la taille d'une zone pralablement alloue par calloc ou malloc.
free
libre une zone mmoire

A.5.2 Conversion de chanes de caractres en nombres


Les fonctions suivantes permettent de convertir une chane de caractres en un nombre.

fonction prototype
atof
atoi
atol

action
double atof(char *chaine) convertit chaine en un double
int atoi(char *chaine)
convertit chaine en un int
long atol(char *chaine)
convertit chaine en un long int

LICENCE 2 - STD2
me
M F .Aitelhadj

UMMTO
Facult du gnie lectrique et informatique
Dpartement Informatique

2009-2010
Semestre 2

A.5.3 Gnration de nombres pseudo-alatoires


La fonction rand fournit un nombre entier pseudo-alatoire dans l'intervalle [0,RAND_MAX], o
RAND_MAX est une constante prdfinie au moins gale 215-1. L'ala fournit par la fonction
rand n'est toutefois pas de trs bonne qualit.
La valeur retourne par rand dpend de l'initialisation (germe) du gnrateur. Cette dernire
est gale 1 par dfaut mais elle peut tre modifie l'aide de la fonction srand.

fonction prototype
rand
srand

action
int rand(void)
fournit un nombre entier pseudo-alatoire
modifie la valeur de l'initialisation du
void srand(unsigned int germe)
gnrateur pseudo-alatoire utilis par rand.

A.5.4 Arithmtique sur les entiers


fonction prototype
abs
labs
div

ldiv

action
int abs(int n)
valeur absolue d'un entier
long labs(long n)
valeur absolue d'un long int
quotient et reste de la division euclidienne de a par
div_t div(int a, int b)
b. Les rsultats sont stocks dans les champs quot
et rem (de type int) d'une structure de type div_t.
quotient et reste de la division euclidienne de a par
b. Les rsultats sont stocks dans les champs quot
ldiv_t ldiv(long a, long b)
et rem (de type long int) d'une structure de type
ldiv_t.

A.5.5 Recherche et tri


Les fonctions qsort et bsearch permettent respectivement de trier un tableau, et de
rechercher un lment dans un tableau dj tri. Syntaxe un peu complique.

A.5.6 Communication avec l'environnement


fonction prototype

action
abort void abort(void)
terminaison anormale du programme
terminaison du programme ; rend le contrle au systme en
exit
void exit(int etat) lui fournissant la valeur etat (la valeur 0 est considre
comme une fin normale).
excution de la commande systme dfinie par la chane de
system int system(char *s)
caractres s.

LICENCE 2 - STD2
me
M F .Aitelhadj

UMMTO
Facult du gnie lectrique et informatique
Dpartement Informatique

A.6 Date et heure

2009-2010
Semestre 2

<time.h>

Plusieurs fonctions permettent d'obtenir la date et l'heure. Le temps est reprsent par des
objets de type time_t ou clock_t, lesquels correspondent gnralement des int ou des
long int.

fonction prototype

action
retourne le nombre de secondes
coules depuis le 1er janvier 1970, 0
time
time_t time(time_t *tp)
heures G.M.T. La valeur retourne
est assigne *tp.
retourne la diffrence t1 - t2 en
difftime double difftime(time_t t1, time_t t2)
secondes.
convertit le temps systme *tp en
une
chane de caractres explicitant
ctime
char *ctime(time_t *tp)
la date et l'heure sous un format
prdtermin.
retourne le temps CPU en
clock
clock_t clock(void)
microsecondes utilis depuis le
dernier appel clock.

LICENCE 2 - STD2
me
M F .Aitelhadj