Les bibliothèques
17 Sep. 2006
- Auteur : tonton nestor
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Structure de la bibliothèque :
La librairie est composée de deux fichiers : le premier sera le fichier d'en tête, il est inscrit dans celui-ci la déclaration des fonctions, c'est à dire le type de paramètre que les fonctions utilisent, le type qu'elles renvoient, et rien de plus. Ce fichier aura pour extension .h. Dans le second fichier sera inscrit le corps des fonctions, en C cela va de soi. Ce dernier ressemblera en tout point à un programme en C à l'exception mais de taille de l'absence de la fonction principale main. Comme il est réalisé en C, il est tout naturel qu'il porte l'extension .c. Remarque : l'utilisation d'un fichier d'en tête .h pour déclarer ses fonctions dans un programme peut-être utilisé et est même souhaitable.2. Les bibliothèques standards :
Pour réaliser cette partie, je me suis fortement inspiré du manuel Introduction au langage C réalisé par Bernard CASSAGNE. Je vous propose ici de vous donner les quelques bibliothèques les plus utilisées en C, avec un descriptif rapide de leur contenu.2.1 Les entrées - sorties :
A inclure avec #include <stdio.h>. Cette bibliothèque, comme son nom l'indique, contient une multitude de fonction permettant des entrées dans le programme (exemple : entrée d'un nombre dans un terminal, entrée dans un fichier au cours de l'exacution du programme etc...) ou bien des sorties (exemple : affichage des résultats à l'écran ...). Quelques fonctions usuelles :-
impression sur la sortie standard : printf. Cette impression est formatée, c'est à dire qu'il faut indiquer à printf le type de la variable qu'elle affiche.
Les types les plus courants sont :
- %d pour un entier
- %f pour un double
- %e pour un double en écriture scientifique
- %c pour un caractère
- %s pour une chaîne (tableau) de caractères
- %4f pour n'afficher que 4 chiffres après la virgule du double
- \n pour le retour chariot
-
lecture sur l'entrée standard : scanf (format,val1, ... ,valn)
fomat indique le format du nombre lu (décimale, hexadécimale,...) :
- %d pour un décimal
- %lf pour un double
- %x pour un exadécimale
- %c pour un caractère
- %s pour une chaîne de caractères
-
Ouverture d'un fichier durant l'exécution d'un programme : fopen (fich, mode);
fopen ouvre le fichier fich dans le mode que nous lui auront indiqué. Voici quelques modes :
- r : ouvre le fichier en lecture seul, r suppose que le fichier existe autrement c'est une erreur.
- w : ouvre le fichier en écriture, si le fichier n'existe pas il sera créé, autrement le fichier existant sera écrasé.
- a : ouvre le fichier en écriture mais cette fois le fichier ne sera pas écrasé : toute écriture sera effectuée en fin de fichier.
#include <stdio.h> FILE *fp; if ((fp = fopen("donnees","r")) == NULL) { fprintf(stderr,"Impossible d'ouvrir le fichier données en lecture\n"); exit(1); } - fermeture d'un fichier : fclose (fp); fclose ferme le fichier qui est pointer par fp. Elle renvoie la valeur 0 si la fermeture est un succès, la valeur EOF en cas d'échec.
2.2 Les fonctions mathématiques :
A inclure avec #include <math.h>. Leurs usages étant assez connue et du type fonction (ma_variable), je ne dévelloperai pas trop.-
Fonctions trigonémétriques et hyperboliques.
- acos : arc cosinus
- asin : arc sinus
- atan ou atan2 : arc tangente
- cos : cosinus
- sin : sinus
- tan : tangente
- cosh : cosinus hyperbolique
- sinh : sinus hyperbolique
- tanh : tangente hyperbolique
-
Fontcions exponentielles et logarithmiques
- exp : exponentielle
- log : logarithme népérien (de base e)
- log10 : logarithme décimale
- frexp : étant donné x, calcul n et p tel que x = n*2p
- modf : calcule partie entière et décimale d'un nombre
-
Autres fonctions
- ceil : entier le plus proche par valeur supérieure
- floor : entier le plus proche par valeur inférieure
- fabs : valeur absolue
- fmod : reste de la division entière
- pow : puissance
- sqrt : racine carrée
2.3 Utilitaires divers :
A inclure avec #include <stdlib.h>.-
Conversion de nombre
- atof : conversion de chaîne vers double
- atoi : conversion de chaîne vers int
- atol : conversion de chaîne vers long int
- strtod : conversion de chaîne vers double
- strtol : conversion de chaîne vers long int
- strtoul : conversion de chaîne vers unsigned long int
-
Génération de nombre alétaoire
- rand : pour les nombres
- srand : pour les chaînes de caractères
2.4 Maniulation de chaînes :
A inclure avec #include <string.h>.- memcpy, memmove, strcpy, strncpy : pour copier
- strcat, strncat : pour concaténer
- memcmp, strcmp, strcoll, strncmp : pour comparer
- strxfrm : pour transformer
- memchr, strchr, strcspn, strpbrk, strrchr, strspn, strstr, strtok : pour rechercher
- memset : pour initialiser
- strlen : pour calculer une longueur
2.5 Autres librairies :
Ne m'étant jamais servi de ces autres bibliothèques, je vous en donne seulement une description rapide...- <ctype.h> : manipulation de caractères Ces fonctions testent une caractéristique du caractère passé en paramètre : isanulm, isalpha, isctrl, isdigit, isgraph, islower, isprint,ispunct, isspace, isupper, isxdigit tolower : permet la conversation en miniscule toupper : permet la conversion en majascule
- <locale.h> : permet de gérer les conventions nationales concerant le point dans les nombres, le symbôle monétaire. Les deux fonctions associées sont : setlocale et localeconv.
- <setjmp.h> : branchement non locaux Elle permet d'effectuer des branchement avec goto à l'extérieur d'une procédure. Pour cela on utilise setjmp et longjmp.
- <time.h> : manipulation de la date et de l'heure clock, difftime, mktime, time, asctime, ctime, gmtime, localtime, strftime
- et encore d'autres...