Cours Programmation en langage C

Sommaire: Cours Programmation en langage C

1/ Allocation dynamique de la mémoire
2/ Entrées/sorties
2.1/ Entrée/sortie formatée avec fscanf et fprintf
2.2/ Entrée/sortie binaire avec fread et fwrite
2.3/ Ouverture, fermeture et déplacement dans un fichier
3/ Exercice de synthèse
4 / Annexes
4.1/ Description détaillée de malloc, calloc, free
4.1/ La fonction fscanf
4.2/ La fonction fprintf
4.3/ Les fonctions fread et fwrite

Extrait du cours programmation en langage C

1/ Allocation de la mémoire
En langage C, le programmeur a sa charge la gestion de la mémoire dans le programme qu’il développe. Si le programmeur souhaite manier un ensemble de nombre flottants de taille n, variable, la seule possibilité que lui offre le langage C est l’allocation dynamique de la mémoire via la création d’un pointeur sur float, objet de type float *. C’est ce que fait la procédure suivante :
int n;
float *px;
n = 100;
px = (float *) malloc(n * sizeof(float));
Pour   allouer   dynamiquement   de   la  mémoire   on   utilise   les   fonctions  calloc  ou  malloc. Lorsque la mémoire allouée n’est  plus utile  il   faut   la  libérer  en utilisant   la  fonction  free.  Ces fonctions   sont  disponibles  dans   la   bibliothèque   standard  stdlib.  On   trouve   la   description des fonctions d’allocation et de libération de la mémoire dans les pages de manuel de Linux. Voici un extrait (ne pas faire attention à la fonction realloc qui n’est pas au programme) :
2/ Entrées / sorties
Le  langage   C  est   très   utilisé   pour  communiquer   avec  les   fichiers.   La   bibliothèque  standard propose   une   large   variété   de   fonctions   d’entrées   /   sorties   vers   un   fichier .   En   ce   qui   concerne   le traitement  d’entrées  /   sorties,   on  distingue  souvent  les  fichiers   texte  des  fichier  binaires.   Un  fichier texte  est   une  suite  d’ octets   codant  chacun  un  caractère  de  l’alphabet   étendu.  Un  fichier   binaire est tout sauf un fichier texte.
2. 1/ Entrées / sorties f ormatées avec     fscanf     et     fprintf 
Pour lire et écrire des données dans un fichier texte, on utilise les f onction fscanf et fprintf :
int fscanf (FILE *stream, const char *format, …);
int fprintf (FILE *stream, const char *format, …);
La f onction  fscanf  analyse  les  entrées  conformément  à   la  chaîne  format.   Elle  lit   ses   entrées depuis  le  f lux  pointé   par  stream.   Les  arguments  pointeurs  successifs  (les  « … »  dans  la  déclaration ci­dessus)   doivent  correspondre  correctement  aux  indicateurs  de  conversion  fournis  dans  la  chaîne La  f onction  printf  produit  des   sorties   en  accord  avec   le   format   décrit   par   la   chaîne   format.
Elle   écrit   sa   sortie   vers   le   f lux   de   sortie   pointé   par  stream.   Les   arguments   qui   suivent   la   chaîne format  sont    les  éléments  dirigés  vers   le  flux  de  sortie  et   doivent  correspondre  à   la  chaîne   format. Les fonctionnalités offertes grâce à l’utilisation de la chaîne format sont nombreuses et sont décrites en détails dans les pages de manuel de Linux. Quelques exemples valent mieux qu’un long discours pour montrer le principes et les fonctionnalités de base.
2.2/ Entrées / sorties binaires avec     fread     et     fwrite 
Pour  lire   et   écrire   des   données   binaires,   on  utilise   les   f onctions   fr ead  et  fwrite.   Finalement ces   fonctions  sont  beaucoup   plus  simples   que  fscanf  et  fprintf  car   il   n’ y   a   pas   de  formatage.   Voici comment ces fonctions sont déclarées dans le fichier d’entête de la bibliothèque standard stdio.size_t  fread  (void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite (const void *ptr, size_t size, size_t nmemb,FILE *stream);La  f onction  fr ead  lit   depuis   le   f lux  pointé   par  stream  nmemb  éléments  de  données, chacun d’eux représentant size octets. Elle stocke dans le flux pointé par stream les valeurs lues dans ptr. La fonction fwrite écrit nmemb éléments de données chacun d’eux de taille size octets.    fread   et fwrite renvoient le nombre  d’éléments correctement  lus ou écrits. Si tout se passe bien, la valeur  renvoyée est donc nmemb.

LIRE AUSSI :  Cours C/C++ container classes

……..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours Programmation en langage C (741 KO) (Cours PDF)
Programmation en langage C

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *