Lire dans un fichier text

enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008 - 24 mars 2005 à 18:38
enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008 - 28 mars 2005 à 10:41
Je programme sous Visual C++. J'aimerais lire dans un fichier texte une serie de caracteres pour pouvoir la comparrer avec une reference. Pour cela j'aimerais utiliser une fonction du style fread(), mais le probleme c'est qu'avec fread() je lis n caracteres, puis les n suivants. Moi j'aimerais lire les caracteres par n, a partir du caractere n°1 puis 2, 3, ...
Pour l'instant ce que je fais, je mets le fichier text dans un char et je fait moi meme glisser un curseur at je comparre les n carracteres avec un temoin. Mais je trouve cette solution lourde.

3 réponses

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
25 mars 2005 à 03:46
Comparer/Lire les caractères un à un? Il y à getc() mais, tu devrais plutôt utiliser un buffer(tampon), genre: char buffer[_BUFSIZE_]; ca serait beaucoup plus rapide pour les lectures/comparaisons ...

Si je n'ai pas répondu à ta question, c'est que je n'ai rien compris :} désolé ...

~(.:: NitRic ::.)~
0
cs_fabien78 Messages postés 1 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 27 mars 2005
27 mars 2005 à 13:16
Qd tu lis les n premiers caracteres avec fread tu decales le curseur dans le fichier (desolé c peut-etre pa tres claire).

Ainsi tu peux le repositionner a chaque fois que tu utilise fread avec la fonction fseek



/* lit les n premiers caracteres a partir du premier */

fread(ptr, size, n, stream);



/* lit les n premiers caracteres a partir du deuxieme */

fseek(stream, 1, SEEK_SET);

fread(ptr, size, n, stream);



/* lit les n premiers caracteres a partir du troisieme */


fseek(stream, 2, SEEK_SET);


fread(ptr, size, n, stream);



....

En esperant avoir repondu a ta question...
0
enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008
28 mars 2005 à 10:41
Oui tu viens de repondre a ma question
Merci beaucoup
0
Rejoignez-nous