Buffer trop petit ?????????

cs_Grand_steak Messages postés 8 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 23 mars 2004 - 11 mars 2004 à 14:40
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 - 11 mars 2004 à 18:46
Bonjour.

Je réalise actuellement un programme permettant de traiter un fichier texte. Ce fichier texte est composé de caractères ASCII représentant des chaines de nombres.
Je recupére ces chaines je les convertie en décimale pas de Problèmes.

Mon problème est que je mets tout mon fichier text dans un buffer afin de pouvoir effectuer le traitement mais je suis limité à environ 1 000 000 de caractères. Hors il m'en faut plus ce qui représent en gros 40 000 valeurs.(Il m'en faut beaucoup plus)

Comment puis-je aller chercher chaque chaine dans le fichier, noter la courante dans le fichier et ainsi traiter l'emsemble de mes chaines...

Merci pour votre aide :question)

6 réponses

youpla51 Messages postés 7 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 30 mars 2004
11 mars 2004 à 15:23
Je vais essayer de repondre sans avoir tout compris a ta derniere phrase :
Recupere tes données bout par bout
par ex avec les CFile utilise les fonctions Seek pour te positionner ou tu veux et Read pour lire une partie des données.
0
cs_Grand_steak Messages postés 8 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 23 mars 2004
11 mars 2004 à 15:28
Je te remercie de ta réponse.

Pour la dernière phrase, je voulais dire la position courante... ça peut preter à confusion.

Bon merci à plus
0
cs_Grand_steak Messages postés 8 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 23 mars 2004
11 mars 2004 à 15:55
Ca ne me convient pas comme méthode pour le moment car mon fichier texte se présente de la facon suivante:

valeur1 tab valeurs2ret
valeur3 tab valeurs4ret
valeur5 tab /redvaleur6/redret
....

et pour différencier les valeurs, je recherche les caractères spéciaux tab pour un tabulation et retpour un retour chariot.

As-tu une méthode pour repérer un caractère ou une chaîne de caractères...
0
youpla51 Messages postés 7 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 30 mars 2004
11 mars 2004 à 16:04
Fait une boucle en lisant les caracteres un par un et tu les mets dans ton buffer.Lorsque tu as un TAB ou un CR tu t'arretes. Puis tu recommences a la position +1 pour le sauter pour recuperer la prochaine valeur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Grand_steak Messages postés 8 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 23 mars 2004
11 mars 2004 à 16:32
Mais c'est bien sur. Je faisais à peu près la même chose seulement je le lisait un buffer.
Il faut juste que le fasse dans le fichier.

J'étais tellement dans mon truc d'avoir un buffer énorme que j'avais occulter cette solution.

J'avais le nez dans le caca et je ne le voyais même pas.

Je te remercie :big)
0
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
11 mars 2004 à 18:46
Une réponse simple possible en C++ (comme tu n'as
pas précisé le language

ifstream file( "data.txt" );
vector vInt;
int valeur;
while( file >> valeur ) {
vInt.push_back( valeur );
}
0
Rejoignez-nous