begin process at 2010 02 10 09:53:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Recuperer des mots dans un fichier texte et les stocker dans un tableau.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recuperer des mots dans un fichier texte et les stocker dans un tableau.

mercredi 28 mai 2008 à 22:06:45 | Recuperer des mots dans un fichier texte et les stocker dans un tableau.

amentag

Bonjour.
Je dispose d'un fichier texte contenant plusieurs mots (sous forme d'une liste) et j'aimerai les récuperer afin de les stocker dans un tableau de caracteres.
Pourriez vous m'aidez?

Désolé du double post mais l'énoncé de ma précédente question etait incorrecte.
Merci.
jeudi 29 mai 2008 à 10:02:29 | Re : Recuperer des mots dans un fichier texte et les stocker dans un tableau.

buno

Salut,
Quel est le souci? Récupérer des mots dans un fichier ou bien les stocker dans un tableau?
Pour le 1er: fopen(), fread(),....,fclose()
Pour le 2nd: je te conseille d'utiliser un vecteur car tu ne connais pas forcément le nombre de chaines à lire...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
jeudi 29 mai 2008 à 12:38:51 | Re : Recuperer des mots dans un fichier texte et les stocker dans un tableau.

amentag

Salut,
Merci de m'avoir répondu.^^
J'ai deux question:
Comment fonctionne la fonction fread()?
Elle lit le fichier texte d'un seul coup? si oui ou est-il stocké? (un exemple serai vraiment sympatique^^). Voici un exemple d'utilisation que j'ai trouvé:
      
FILE * pFile;
long lSize;
char * buffer;
size_t result;

pFile = fopen ( "myfile.bin" , "rb" );
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}

....
// allocate memory to contain the whole file:
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

// copy the file into the buffer:
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}

Or cette ligne (en rouge) n'est écrit qu'une seule fois et n'est inclut ni dans un while ni dans une boucle fort. Je l'ai essayé, et en fait toute la liste de mot à été inclut dans "buffer" qui est un tableau (mais pas a double entré ).Donc je ne voit pas de moyen pour acceder a un mot en particulier.

Et ma deuxieme question: qu'es-ce qu'un vecteur?


Merci.
jeudi 29 mai 2008 à 13:15:02 | Re : Recuperer des mots dans un fichier texte et les stocker dans un tableau.

jfrancois

Réponse acceptée !
Bonjour,

La fonction fread() (file read) lit "lSize" octets (le "1") du fichier dans "buffer". Si "lSize" est suffisamment grand (supérieur ou égal à la taille du fichier), c'est tout le fichier qui est lu d'un coup dans "buffer".

Dans "buffer" les mots sont séparés par un caractère contenant le code binaire 10 (new line).

Dans "result" il y a la taille réellement lue = (taille du fichier - nombre de lignes lu) car dans le fichier (Windows !) il y a aussi un code binaire 13 (retour chariot) devant le code 10 mais il est éliminé par fread().

// read the file into the buffer:   <-- plus parlant que copy
result = fread (buffer,1,lSize,pFile);


Jean-François

jeudi 29 mai 2008 à 13:24:57 | Re : Recuperer des mots dans un fichier texte et les stocker dans un tableau.

jfrancois

Dans "buffer" les mots sont séparés par un caractère contenant le code binaire 10 (new line).

Ici je parle de mots puisque c'est le contenu du fichier mais dans le cas général il faut comprendre lignes !

Jean-François

jeudi 29 mai 2008 à 13:53:35 | Re : Recuperer des mots dans un fichier texte et les stocker dans un tableau.

amentag

Merci jfrancois (ainsi que Buno).
Avant d'avoir lu ton message j'etai parvenu à mes fin mais en utilisant la fonction fgetc() qui lit caractere par caractere le fichier texte (je me sui en effet rendu compte que ce qui separait les mot etait le retour à la ligne '\n' ...comment ne l'avai-je pas remarqué plus tot : j'ai cru un moment que c'etait '\0' fin de tableau ce qui n'est pas le cas dans un fichier texte. J'ai donc pu rentrer tous cela dans un tableau) MAIS ta solution est bien plus rapide et optimise mon programme car tout est lu d'un coups.
Merci.


Cette discussion est classée dans : fichier, texte, tableau, mots, stocker


Répondre à ce message

Sujets en rapport avec ce message

ecrire et lire un fichier texte [ par denini ] voilà, j'aimerais ecrire et lire sur un fichier texteJe voudrais stocker une date, une valeur et un nbet ce pour N clients.Je voudrais que le fichier pb avec tableau et fichier texte [ par krolanta ] Voila mon pb é que g un fichier texte avec des coordonnées et que je voudrais mettre chaque coordonnées ds une case du tableau.En fait ca revient a li placer un fichier texte dans un tableau [ par fred23 ] BonjourJe suis embété car j'ai besoin de lire un fichier text "tot.txt" dont les données sont rangées comme suit:toto,tata,titi,tutu,zut1zut2,rezut3pa cherche fichier texte contenant les mots du dico français...sans accent. [ par the godfather ] bonjour je cherche un fichier texte contenant les mots du dictionnaire francais mais qui soit tous sans accent... Comment stocker une chaine de caractere d'un fichier dans une variable ou un tableau [ par Jarod1980 ] Bonjour tout le monde,Voilà je voudrais savoir si quelqu'un pourrait m'aider à résoudre un petit probleme. Je voudrais faire un programme qui ouvre un Comment stocker des données depuis un fichier dans un tableau [ par Jarod1980 ] Bonjour tout le monde,En fait, mon fichier se compose de 3 colonnes distinctes qui contiennent chacune des chiffres. Je voudrais savoir comment stocke stocker tableau dans fichier [ par amau96 ] bonjours, je suis en train d'essayer de developper une bataille navalle, pour cela, je souhaite stocker la grille dans un tableau a 2 dimentions, puis afficher les mots d'un fichier texte [ par cyrina84 ] Bonjours à tous les developpeurs icic présent, J'ai un probleme que je souffre depuis 3jours et j'espere que vous m'aidiez. Donc voila J'ai fichier te mots croisés [ par bissmillah ] J'aimerai avoir de l'aide grace aux menbres inscrits,c'est a props d'un projet que j'ai a faire en c++ (les mots croisés),je doit créer un fichier tex mélangeur de texte ? [ par semikoala ] Bonjour à tous, je recquiers votre aide apres avoir désespérément cherché une réponse introuvable !Je voudrais mélanger les mots d'un tex


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales