<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?action=history&amp;feed=atom&amp;title=Dilib%2C_module_StrSearch</id>
	<title>Dilib, module StrSearch - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?action=history&amp;feed=atom&amp;title=Dilib%2C_module_StrSearch"/>
	<link rel="alternate" type="text/html" href="https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?title=Dilib,_module_StrSearch&amp;action=history"/>
	<updated>2026-04-19T14:41:36Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.31.10</generator>
	<entry>
		<id>https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?title=Dilib,_module_StrSearch&amp;diff=3498&amp;oldid=prev</id>
		<title>imported&gt;Jacques Ducloy : 1 révision importée</title>
		<link rel="alternate" type="text/html" href="https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?title=Dilib,_module_StrSearch&amp;diff=3498&amp;oldid=prev"/>
		<updated>2017-06-16T17:49:47Z</updated>

		<summary type="html">&lt;p&gt;1 révision importée&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 16 juin 2017 à 17:49&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Jacques Ducloy</name></author>
		
	</entry>
	<entry>
		<id>https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?title=Dilib,_module_StrSearch&amp;diff=3497&amp;oldid=prev</id>
		<title>imported&gt;Jacques Ducloy : /* Correspondances avec StrDict */</title>
		<link rel="alternate" type="text/html" href="https://wicri-demo.istex.fr/Wicri/Outils/fr/index.php?title=Dilib,_module_StrSearch&amp;diff=3497&amp;oldid=prev"/>
		<updated>2014-03-16T19:45:26Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Correspondances avec StrDict&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dilib header|module=StrSearch}}&lt;br /&gt;
Le module StrSearch permet de gérer des tableaux associatifs (appelés StrSearchTables) de chaînes de caractères (mais on peut y mettre des valeurs de types différents, en utilisant le cast de C).&lt;br /&gt;
&lt;br /&gt;
Ces tableaux associent donc une clé et une valeur. Ils permettent une recherche rapide par clé (et non par indice entier). Typiquement, ils peuvent servir à créer un dictionnaire (un mot en français associé à sa traduction en anglais).&lt;br /&gt;
&lt;br /&gt;
{{Wicri travaux|texte=Ce module est en cours de renommage en '''[[Dilib, module StrDict|StrDict]]'''.}}&lt;br /&gt;
&lt;br /&gt;
==Constructeurs==&lt;br /&gt;
&lt;br /&gt;
;StrSearchTableCreate:crée un tableau associatif dont la taille initiale (nombre d'éléments) est donnée, ainsi que l'incrément.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
       StrSearchTable* StrSearchTableCreate(int size, int increment);&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
;StrSearchGetTable:crée un tableau et le remplit des éléments contenus dans un fichier. Chaque ligne contient un élément. Un élément contient soit une clé seule, soit une clé séparée de la valeur associée par une tabulation. &lt;br /&gt;
;StrSearchGetTableC:fait la même chose que StrSearchGetTable, mais transcode les valeurs avec CharSetCtoA. &lt;br /&gt;
;StrSearchGetTableFromFile:crée un tableau d'après le contenu d'un fichier texte formatté. Ce format est le même que celui fourni par StrSearchTableToFile. &lt;br /&gt;
;StrSearchTableReset:remet le tableau à zéro, qui peut être utilisé comme un tableau à peine créé. Aucune libération n'est effectuée.&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
&lt;br /&gt;
;StrSearchAdd:Ajoute un couple clé-valeur au tableau. La valeur peut être de n'importe quel type (il suffit d'utiliser le transtypage du C). ''Attention, seuls les pointeurs de la clé ou de la valeur sont insérés dans la table''.&lt;br /&gt;
;StrSearchPut:Ajoute un couple clé-valeur au tableau, ou si la clé y existe déjà, modifie la valeur de l'élément existant. ''Attention, seuls les pointeurs de la clé ou de la valeur sont insérés dans la table''.&lt;br /&gt;
;StrSearch:cherche dans le tableau la valeur associées à la clé demandée et la renvoie. Renvoie un pointeur nul si la clé est absente du tableau.&lt;br /&gt;
;StrSearchTableToFile:sauve le contenu du tableau dans un fichier texte formaté contenant une ligne par élément. Ces éléments peuvent n'être composés que d'une clé, ou bien d'un couple clé-valeur (la valeur étant séparée de la clé par une tabulation). &lt;br /&gt;
;StrSearchAddTable:ajoute de nouveaux éléments venant d'un flux d'entrée à un tableau existant. Clé et valeurs doivent être sur une seule ligne, séparés par une tabulation. Si la valeur n'est pas présente, seule la clé est ajoutée.&lt;br /&gt;
&lt;br /&gt;
==Itérateurs==&lt;br /&gt;
&lt;br /&gt;
;StrSearchIteratorReset:réinitialise l'itérateur (avant le premier enregistrement). &lt;br /&gt;
;StrSearchIteratorReverseReset:réinitialise l'itérateur (après le dernier enregistrement). &lt;br /&gt;
;StrSearchNext:renvoie la clé du prochain enregistrement. &lt;br /&gt;
;StrSearchPrevious:renvoie la clé du précédent enregistrement. &lt;br /&gt;
;StrSearchKey:renvoie la clé de l'enregistrement courant (sur lequel se trouve l'itérateur). &lt;br /&gt;
;StrSearchValue:renvoie la valeur de l'enregistrement sur lequel se trouve l'itérateur. &lt;br /&gt;
;StrSearchKeyLessEqual:cherche un enregistrement dont la clé est inférieure ou égale à la chaîne cherchée. Renvoie la clé de l'enregistrement trouvé. Place l'itérateur sur cet enregistrement.&lt;br /&gt;
&lt;br /&gt;
==Destructeurs==&lt;br /&gt;
&lt;br /&gt;
;StrSearchTableFree:ferme le tableau et libère les structures associées (seuls les pointeurs sont ainsi libérés).&lt;br /&gt;
;StrSearchTableFreeStr:ferme le tableau et libère les structures associées, ainsi que toutes les chaînes de caractères (clés et valeurs) qui doivent être de type char *.&lt;br /&gt;
;StrSearchTableFreeKey:ferme le tableau, libère les structures associées, ainsi qu'uniquement les clés qui sont supposées du type char *.&lt;br /&gt;
;StrSearchTableFreeValue: ferme le tableau, libère les structures associées, ainsi qu'uniquement les valeurs (supposées être du type char *).&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
       #include &amp;quot;StrSearch.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       main() {&lt;br /&gt;
        StrSearchTable *table;&lt;br /&gt;
        table = StrSearchTableCreate(10,5);&lt;br /&gt;
&lt;br /&gt;
        StrSearchAdd(table,&amp;quot;arbre&amp;quot;,&amp;quot;tree&amp;quot;);&lt;br /&gt;
        StrSearchAdd(table,&amp;quot;maison&amp;quot;,&amp;quot;home&amp;quot;);&lt;br /&gt;
        printf(&amp;quot;%s\n&amp;quot;, StrSearch(table,&amp;quot;arbre&amp;quot;));    /* prints tree */&lt;br /&gt;
        printf(&amp;quot;%s\n&amp;quot;, StrSearch(table,&amp;quot;route&amp;quot;));    /* prints (null) */&lt;br /&gt;
&lt;br /&gt;
        StrSearchAdd(table,&amp;quot;chien&amp;quot;,&amp;quot;dog&amp;quot;);&lt;br /&gt;
        printf(&amp;quot;%s\n&amp;quot;, StrSearch(table,&amp;quot;chien&amp;quot;));   /* sorts table and prints dog */&lt;br /&gt;
        ...  &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Correspondances avec StrDict==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!StrSearch&lt;br /&gt;
!StrDict&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchTable *&lt;br /&gt;
|StrDict *&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchTableFree()&lt;br /&gt;
|StrDictFree()&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchAdd()&lt;br /&gt;
|StrDictAddNewDatum()&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchPut()&lt;br /&gt;
|StrDictSet()&lt;br /&gt;
|-&lt;br /&gt;
|StrSearch()&lt;br /&gt;
|StrDictSearch()&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchAddTable (char *stream, StrSearchTable *table)&lt;br /&gt;
|StrDictAddFromFile (StrDict *table, char*stream)&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchTableCreate(int s,int i)&lt;br /&gt;
|StrDictCreate(int s, int i)&amp;lt;br/&amp;gt;NewStrDict()&lt;br /&gt;
|-&lt;br /&gt;
|StrSearchGetTable(char *stream, int size)&lt;br /&gt;
|StrDictFromFile (char *stream)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>imported&gt;Jacques Ducloy</name></author>
		
	</entry>
</feed>