Dilib, module Buffer, type BufferParser
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.
Liste des modules Dilib
Module Buffer
|
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);