[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 182 fois - Téléchargée 815 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 -
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 -
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
-
Merci de l'information, les gars... Je pense à corriger cela. Je ne savais pas du tout...
cs_Arnotic
Messages postés
936
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
-
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
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
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.