Dilib, module Buffer

De Wicri Outils
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module Buffer

Introduction

Le module Buffer permet la manipulation de chaînes de caractères de n'importe quelle longueur, sans avoir à se préoccuper de leur allocation.

 

Déclaration et exemple introductif

L'utilisation des Buffers demande l'appel du ficher "Buffer.h". En pratique ces objets ne se manipulent que par des pointeurs. Voici un exemple du calcul d'une url utilisant un Buffer.

#include "Buffer.h"

Buffer *bufUrl;
char *myPage;
 ...
bufUrl=NewBuffer();
BufferStrcpy(bufUrl,"http://myWebSite/");
BufferStrcat(bufUrl,myPage);
printf ("<a href=\"%s\">Pour aller sur %s</a>", BufferString(bufUrl), myPage);

Constructeurs

  • BufferCreate crée un Buffer d'une taille donnée et dont la taille augmentera automatiquement, si nécessaire, en fonction du paramètre d'incrémentation fourni.
  • NewBuffer est une version simplifiée de BufferCreate avec des valeurs implicites pour les paramètres définissant la gestion des incréments.
  • BufferClone crée un Buffer en copiant le contenu d'un autre Buffer.
  • BufferFromString crée un buffer en copiant une chaîne de caractères.

Accès aux Attributs

  • BufferString renvoie un pointeur vers la chaîne gérée par un Buffer.
  • BufferSize renvoie la taille du Buffer (la mémoire allouée).
  • BufferLen renvoie la taille de la chaîne de caractères contenue dans le Buffer.

Opérations

  • BufferCopy copie le contenu d'un Buffer dans un autre.
  • BufferStrcat ajoute une chaîne de caractères à la fin du Buffer.
  • BufferStrncat ajoute les n premiers caractères de la chaîne donnée à la fin du Buffer.
  • BufferStrcpy copie une chaîne dans un Buffer.
  • BufferStrncpy copie les n premiers caractères d'une chaîne dans un Buffer.
  • BufferCharCat ajoute un caractère à un Buffer.
  • BufferTailCmp applique la fonction strcmp à la fin du Buffer et à une chaîne de caractères.
  • BufferTailCut enlève n caractères à la fin du Buffer.
  • BufferTailReplace remplace la fin du Buffer par une chaîne donnée.
  • BufferStrRepl remplace toutes les occurrences d'une chaîne par une autre dans le Buffer.
  • BufferReset réinitialise le Buffer (son contenu devient vide).
  • BufferCat concatène le contenu d'un Buffer à un autre.
  • BufferGetSubString renvoie une sous-chaîne de la chaîne de caractères passée en paramètre.
  • BufferGetIntString renvoie le début de la chaîne de caractère, jusqu'au premier caractère (exclus) qui n'est pas un chiffre.

Entrées-Sorties

  • BufferFgets lit un enregistrement, en utilisant le Buffer passé, dans le flux (que ce soit l'entrée standard ou un fichier). Renvoie une chaîne correspondante (ou un pointeur nul).
  • BufferGets lit un enregistrement sur l'entrée standard et le stocke dans le Buffer. Renvoie le contenu du Buffer (ou un pointeur nul).

Destructeur

  • BufferFree libère la mémoire allouée au Buffer.

Divers

  • BufferSave renvoie un pointeur sur une copie de la chaîne C représentant le contenu du Buffer.
  • BufferIncrement augmente la taille du Buffer.

Types associés