Extraire les mot en C
cyrina
-
Ipsec Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Ipsec Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis entrain de faire un programme qui a pour but de chargre le contenu du fichier texte dans une liste chaine.
MOn probleleme ou je me bloque : je veux savoir comment extraire les mots dans chaque ligne.
merci
je compte sur vous
je suis entrain de faire un programme qui a pour but de chargre le contenu du fichier texte dans une liste chaine.
MOn probleleme ou je me bloque : je veux savoir comment extraire les mots dans chaque ligne.
merci
je compte sur vous
A voir également:
- Extraire les mot en C
- Extraire une video youtube - Guide
- Trousseau mot de passe iphone - Guide
- Extraire le son d'une vidéo - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
3 réponses
Bonjours,
un mot peut se definir par : une suite de caractere séparée par des separateurs tel que les esapces ou les tabulations
donc une fois que tu as ta ligne, tu peut par exemple la parcourir et tu la coupe a l'endroit ou il y a un separateur, assure toi d'avoir nettoyer ta chaine avant (par exemple mettre un seul espace s'il y en a plusieurs, de meme pour les tabulations)
c'est grossomodo assez simple à fair en code, si tu maitrise la recursivite c'est meme faisable en une fonction d'une vingtaine ou une trentaine de ligne, sinon pense bien a decouper ton code :)
un mot peut se definir par : une suite de caractere séparée par des separateurs tel que les esapces ou les tabulations
donc une fois que tu as ta ligne, tu peut par exemple la parcourir et tu la coupe a l'endroit ou il y a un separateur, assure toi d'avoir nettoyer ta chaine avant (par exemple mettre un seul espace s'il y en a plusieurs, de meme pour les tabulations)
c'est grossomodo assez simple à fair en code, si tu maitrise la recursivite c'est meme faisable en une fonction d'une vingtaine ou une trentaine de ligne, sinon pense bien a decouper ton code :)
Bon personnellement je te conseillerai de tenter avec un fscanf, mais bon il y a une fonction en C qui fait tout le boulot(enfin dés que tu as recupéré le contenu de ton fichier ou d'une ligne de ton fichier dans un char *): strtok (http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strtok.3.html).
Apres c'est une fonction a utiliser avec parcimonie, car elle modifie directement ta chaine de départ(enfin si jme souvient bien) et elle n'est pas compatible avec du multi-thread.
Extrait du man:
#include <string.h> char *strtok (char *s, const char *delim);
Apres c'est une fonction a utiliser avec parcimonie, car elle modifie directement ta chaine de départ(enfin si jme souvient bien) et elle n'est pas compatible avec du multi-thread.
Extrait du man:
Bogues évitez au maximum d'utiliser cette fonction. Sinon, prenez note des informations suivantes : Cette fonction modifie son premier argument. Les caractères de séparation sont surchargés, leur identité est donc perdue. Cette fonction ne doit pas être invoquée sur une chaîne constante. La fonction strtok() utilise un buffer statique et n'est donc pas sûre dans un contexte multithread. Dans ce cas il vaut mieux utiliser strtok_r().