01net    Web


Actuellement en ligne : 1101 Utilisateurs dont 52 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> Problème avec seekg
Auteur
Message
 
<     1       >
kaysan
  
   
      ?   @     Posté le 20/06/2007 07:20:53  
Voter pour ce message
Bonjour à tous!
Alors voilà j'ai un petit problème. Je veux manipuler un fichier texte et revenir à chaque fois au début du fichier de cette façon:

string ligne;
ifstream source("doc.txt");
int i;

for(i=1;i<5;i++){
//Je veux lire le fichier ligne par ligne 4 fois
while(getline(source, ligne)){
//Je fais ce que j'ai à faire
cout << ligne << endl;
//J'arrive à la fin du fichier
}
//Avec seekg je veux dire au curseur de retourner au début du texte pour recommencer
source.seekg(0, ios::beg);
}

et là ça ne fonctionne pas...
Il fonctionne bien la première fois mais ensuite ne retourne pas au début. J'ai l'impression qu'il remonte juste d'une ligne. J'aurais donc voulu savoir si seekg() s'utilisait bien comme ça??
Merci d'avance à tous.
haniboul
  les vacances, c'est bien
  :-)
      ?   ^   @     Posté le 28/08/2007 13:47:49  
Voter pour ce message
salut!
eh bien en fait, ton problème vient du fait que tu atteins la fin de fichier. Or, il est impossible d'utiliser seekg après l'avoir atteint, tout du moins sans avoir réalisé une petite opération avant :
cela consiste à appeler la fonction clear() sur ton flux.

plus de détails par ici : http://support.microsoft.com/kb/146445/fr
-->Message édité par haniboul le 28/08/2007 13:48:16<--
-------
chouette, un espace vide à remplir, certes pas avec grand chose, mais bon.....
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 29/08/2007 20:13:54  
Voter pour ce message
essais:

// mostly C code.
#include <stdio.h>

int main)()
{
// google: "fopen() pour + d'info sur le 2e param)
.,.FILE *fichier = fopen("le_fichier.txt","r");
.,.fseek(fichier, 0, SEEK_END);
.,.long taille = ftell(fichier);
.,.fseek(fichier, 0, SEEK_SET);
.,.fclose(fichier);
.,.return 0;
}


a++
-------
vive Linux!
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> Problème avec seekg

Aller à :

Page générée en : 0.782s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Création de site web
Créez vous même un site web de qualité professionnelle et publiez-le sur Internet
Foot   
Platini-Wenger: la guerre ? Dérapages verbaux entre le président de l'UEFA et le coach d'Arsenal !