Copyright © 2004 Patrick Davalan. |
Bopx : Fonctions diverses.
Fonctionnalités.
API détaillée
Exemples.
Reste à faire.
Voir aussi.
Fonctionnalités.
Bopm propose une interface à des fonctions de la bibliothèque standard et des fonctions qu'il fallait bien regrouper quelque part.
API.
Fichier à inclure.
Les fonctions d'accès aux fichiers.
.
Il s'agit plus exactement de l'accès à des streams.
- Les fonctions bopxFopen et bopxFclose ont le même interface d'accès que les fonctions fopen( ) et fclose( ),
voir la documentation de ces fonctions : fopen(3).
Ces fonctions ne retournent que si l'ouverture ou la fermeture s'est effectuée correctement, dans le cas contraire la
fonction abort(3) est appelée et le programme est par defaut terminé avec un "core dump"
après un message sur stderr precisant la fonction ayant appelé Bopm.
Notons que le signal SIGABRT peut être "atrappé" par un "signal handler".
- int bopxScanLines( void * data, char * filename,
int (*func)( void * data, char *line, size_t length ) )
Cette fonction permet d'appeler la fonction func pour chaque ligne du fichier de nom filename,
l'argument data est simplement passé à la fonction appelée qui reçoit aussi l'adresse de la ligne
et sa longueur, la ligne est une chaine de caractère non-terminée par un \n.
Limitation : la taille maximale d'une ligne est 8192.
Autres fonctions.
- char * bopxVersion( void )
retourne le numero de version de bop en un string ( ex "2.1.3" ).
- int bopxAbort( char * Message )
Appelle abort(3) après avoir affiché Message et d'autres informations sur stderr.
Sans doute est-ce par un excès d'optimisme que cette fonction prétend retourner un int.
- long bopxRandom ( void )
Retourne un long choisi de manière aléatoire.
Cette fonction doit marcher correctement si vous avez les fonctions times(2) ( ou clock(3) ) ainsi que
les fonctions srandom(3) et random(3) dans votre bibliothèque. Marche moins bien sinon,
au pire si aucune de ces fonctions n'est présente, elle choisit le nombre dans le sous-ensemble {1} des longs.
Marche bien sur GNU/Linux, sur BSD, et probablement sur beaucoup d'unix.
Exemples.
Des programmes de test de Bop peuvent servir d'exemples :
- bopshuffle.c
Ce programme mélange les lignes d'un fichier en utilisant un hash, il utilise également la fonction bopxScanLines.
Reste à faire.
Voir aussi.

http://freefeed/bop/bopx.php (13/12/2006) Copyright © 2004 Patrick Davalan.
Il est permis de copier, distribuer et/ou modifier ce document selon les termes et condiions de la GNU Free Documentation License, version 1.2 ou toute version ulterieure publiée par la Free Software Foundation.
Warning: fopen(/home/web/patrick/data/locks/bop%2Fbopx.php): failed to open stream: No such file or directory in /home/web/patrick/include/functions.inc on line 315