[ansi c][reponse forum 372070] - recherche d'une chaîne de caractère dans un fichier texte composé de champs (via liste chaî

Soyez le premier à donner votre avis sur cette source.

Vue 7 933 fois - Téléchargée 871 fois

Description

Ce code est déposé en réponse à une question d'un forum.
http://www.cppfrance.com/forum.v2.aspx?ID=372070&nb=1

Dans un fichier de type CSV (c'est-à-dire, chaque ligne étant composé de plusieurs champs), le but est de rechercher une chaîne de caractères dans le premier champ.

Le concept global :
- lecture du fichier ligne par ligne ;
- découpage de chaque ligne en fonction d'un séparateur (ici, un espace) ;
- stockage des informations de la ligne dans une liste chaînée de structures d'informations.
- fermeture du fichier.
- exemple de recherche de chaîne de caractère.

La limite de ce code tient à l'espace de mémoire disponible, puisque le fichier lu est stocké sous forme de liste chaînée.

Conclusion :


Pour répondre précisément à la question du forum, l'exemple pris correspond exactement à la question.
Bien évidemment, la structure contenant les informations est aisément modifiable au cas où...

Compilable à peu près partout.

Merci de me notifier les probables bugs et erreurs, ou toute autre question.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
19 janv. 2005 à 22:20
ah... tiens, on ne peut pas éditer un de ces messages. ça serait cool ça.

Sinon, à priori ça fuit aussi dans split, y''a un strdup qui ne semble pas être free.
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
19 janv. 2005 à 22:15
Salut,
sinon strtok_r pour le réentrant
et strsep pour être à la mode BSD ;-)
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
17 janv. 2005 à 18:26
Merci de l'information, les gars... Je pense à corriger cela. Je ne savais pas du tout...
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 1
17 janv. 2005 à 16:12
oui je confirme ce n'est pas pour une question de portabilité mais bien pour la raison qu'a exprimer BruNews dans son commentaire.
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 janv. 2005 à 16:07
strtok est portable je pense, pas la le prob.
Je pense aussi que ce n'est pas une bonne habitude car bosse avec une variable implicite unique et il y a risque de corruption sur des appels simultanes (multi thread par exemple). On obtient la meme chose sans risque avec strstr().

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.