Dilib, module Buffer, type BufferParser

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

BufferParser

Le type BufferParser (de l'anglais to parse) implémente un analyseur qui traite un flux d'entrée pour produire facilement des chaînes de caractères. Il fonctionne à l'aide d'objets de type Buffer pour gérer les données.

 

Exemple introductif

Un BufferParser permet notamment d'extraire des entités syntaxiques qui couvrent plusieurs lignes d'un fichier.

Ce programme permet d'extraire d'une page html la partie body. Il utilise un BufferParser spécialisé pour le flot d'entrée.

#include "BufferParser.h"

main ()
{
  char *bodyStr;
  BufferParserStdinCreate();
  bodyStr=BufferParserStdinGetBloc("<body>", "</body>")
  printf("%s\n", bodyStr);
}
 

Exemple de ichier traité.

<html>
alpha
  <body>
  Hello World
  </body>
Omega
</html>

Résultat :

<body>
  Hello World
  </body>

Constructeur

BufferParserCreate

BufferParserCreate construit un BufferParser en allouant le Buffer interne et initialise le fichier associé (à NULL).

Synopsis
#include "BufferParser.h"

BufferParser *BufferParserCreate();

BufferParserStdinCreate

Cette fonction sans paramètres crée un BufferParser qui opère sur le flux d'entrée. Cet objet est repéré par la variable globale BufferParserStdin.

Opérations sur les fichiers

BufferParserOpen

BufferParserClose

BufferParserSetFile

Opérations de lecture

Opérations sur Stdin

BufferParserStdinGetBloc

Synopsis
char *BufferParserStdinGetBloc(char *fromStr, char *toStr);

Destructeur

BufferParserFree

La fonction BufferParserFree libère la mémoire allouée au BufferParser, et ferme le fichier associé si nécessaire.

Synopsis
void BufferParserFree(BufferParser  *b1);

Voir aussi