begin process at 2012 05 29 18:28:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pb de gestion de fichier avec fstream


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

Pb de gestion de fichier avec fstream

jeudi 3 juillet 2003 à 09:09:21 | Pb de gestion de fichier avec fstream

Bub325

Salut,
J'ai deux problème distinct avec fstream,

Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce dernier, par exemple:

ifstream file("test.txt");
char ligne[0xFF];
while (file.getline(ligne,0xFF))
printf("%s\n",ligne);
file.seekg(0);
while (file.getline(ligne,0xFF))
printf("%s\n",ligne);
file.close();

ne m'affichera qu'une fois le fichier et non pas 2 comme je le voudrais.
Pourquoi ? et comment y remédier autrement qu'en fermant et en réouvrant le fichier ?

Sinon mon dexième problème est que je fixe la lecture du fichier à une endroit, et il est décalé de deux octets je ne sait pas pourquoi (il me vire donc les 2 première lettres de ma phrase). Exemple:

int start_pos = 17;
fbub.seekg(start_pos);
cout << start_pos << " - " << fbub.tellg() << endl;

ce code m'affichera '17 - 19'

Pourquoi ? et comment résoudre ce problème ???

Merci beacoup pour vont réponses qui me seront je pense très profitable,

Bub325
Le codeur pas comme tout le monde
jeudi 3 juillet 2003 à 10:27:53 | Re : Pb de gestion de fichier avec fstream

JCDjcd

Oui mais pourquoi fais tu seek(0) et non seek(-sizeOfFIle) ?

Car avec le vrais fonction fseek, tu fais :
fseek(fichier,0,SEEK_SET);




-------------------------------
Réponse au message :
-------------------------------

> Salut,
> J'ai deux problème distinct avec fstream,
>
> Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce dernier, par exemple:
>
> ifstream file("test.txt");
> char ligne[0xFF];
> while (file.getline(ligne,0xFF))
> printf("%s\n",ligne);
> file.seekg(0);
> while (file.getline(ligne,0xFF))
> printf("%s\n",ligne);
> file.close();
>
> ne m'affichera qu'une fois le fichier et non pas 2 comme je le voudrais.
> Pourquoi ? et comment y remédier autrement qu'en fermant et en réouvrant le fichier ?
>
> Sinon mon dexième problème est que je fixe la lecture du fichier à une endroit, et il est décalé de deux octets je ne sait pas pourquoi (il me vire donc les 2 première lettres de ma phrase). Exemple:
>
> int start_pos = 17;
> fbub.seekg(start_pos);
> cout << start_pos << " - " << fbub.tellg() << endl;
>
> ce code m'affichera '17 - 19'
>
> Pourquoi ? et comment résoudre ce problème ???
>
> Merci beacoup pour vont réponses qui me seront je pense très profitable,
>
> Bub325
> Le codeur pas comme tout le monde
>
jeudi 3 juillet 2003 à 20:45:55 | Re : Pb de gestion de fichier avec fstream

Bub325

Et bien j'ai mis 0 pour revenir au début du fichier, mais j'aurais pu mettre 4 - 17 ect... tout dépend de l'endroit où je veut retourner, mais le prtoblème reste le même, une fois que j'ai atteint la fin du fichier je ne peut plus relire quelque partie que ce soit dans le fichier.
Bub325
Le codeur pas comme tout le monde



-------------------------------
Réponse au message :
-------------------------------

> Oui mais pourquoi fais tu seek(0) et non seek(-sizeOfFIle) ?
>
> Car avec le vrais fonction fseek, tu fais :
> fseek(fichier,0,SEEK_SET);
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > J'ai deux problème distinct avec fstream,
> >
> > Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce dernier, par exemple:
> >
> > ifstream file("test.txt");
> > char ligne[0xFF];
> > while (file.getline(ligne,0xFF))
> > printf("%s\n",ligne);
> > file.seekg(0);
> > while (file.getline(ligne,0xFF))
> > printf("%s\n",ligne);
> > file.close();
> >
> > ne m'affichera qu'une fois le fichier et non pas 2 comme je le voudrais.
> > Pourquoi ? et comment y remédier autrement qu'en fermant et en réouvrant le fichier ?
> >
> > Sinon mon dexième problème est que je fixe la lecture du fichier à une endroit, et il est décalé de deux octets je ne sait pas pourquoi (il me vire donc les 2 première lettres de ma phrase). Exemple:
> >
> > int start_pos = 17;
> > fbub.seekg(start_pos);
> > cout << start_pos << " - " << fbub.tellg() << endl;
> >
> > ce code m'affichera '17 - 19'
> >
> > Pourquoi ? et comment résoudre ce problème ???
> >
> > Merci beacoup pour vont réponses qui me seront je pense très profitable,
> >
> > Bub325
> > Le codeur pas comme tout le monde
> >
>
jeudi 3 juillet 2003 à 20:51:50 | Re : Pb de gestion de fichier avec fstream

JCDjcd

Fias alors :
fseek(fichier,0,SEEK_SET);

ca marche !



-------------------------------
Réponse au message :
-------------------------------

> Et bien j'ai mis 0 pour revenir au début du fichier, mais j'aurais pu mettre 4 - 17 ect... tout dépend de l'endroit où je veut retourner, mais le prtoblème reste le même, une fois que j'ai atteint la fin du fichier je ne peut plus relire quelque partie que ce soit dans le fichier.
> Bub325
> Le codeur pas comme tout le monde
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Oui mais pourquoi fais tu seek(0) et non seek(-sizeOfFIle) ?
> >
> > Car avec le vrais fonction fseek, tu fais :
> > fseek(fichier,0,SEEK_SET);
> >
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut,
> > > J'ai deux problème distinct avec fstream,
> > >
> > > Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce dernier, par exemple:
> > >
> > > ifstream file("test.txt");
> > > char ligne[0xFF];
> > > while (file.getline(ligne,0xFF))
> > > printf("%s\n",ligne);
> > > file.seekg(0);
> > > while (file.getline(ligne,0xFF))
> > > printf("%s\n",ligne);
> > > file.close();
> > >
> > > ne m'affichera qu'une fois le fichier et non pas 2 comme je le voudrais.
> > > Pourquoi ? et comment y remédier autrement qu'en fermant et en réouvrant le fichier ?
> > >
> > > Sinon mon dexième problème est que je fixe la lecture du fichier à une endroit, et il est décalé de deux octets je ne sait pas pourquoi (il me vire donc les 2 première lettres de ma phrase). Exemple:
> > >
> > > int start_pos = 17;
> > > fbub.seekg(start_pos);
> > > cout << start_pos << " - " << fbub.tellg() << endl;
> > >
> > > ce code m'affichera '17 - 19'
> > >
> > > Pourquoi ? et comment résoudre ce problème ???
> > >
> > > Merci beacoup pour vont réponses qui me seront je pense très profitable,
> > >
> > > Bub325
> > > Le codeur pas comme tout le monde
> > >
> >
>
jeudi 3 juillet 2003 à 22:18:01 | Re : Pb de gestion de fichier avec fstream

Bub325

Mais c'est une commande C à utiliser avec FILE et non fstream. Je ne peut donc pas l'utiliser.

Bub325
Le codeur pas comme tout le monde



-------------------------------
Réponse au message :
-------------------------------

> Fias alors :
> fseek(fichier,0,SEEK_SET);
>
> ca marche !
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Et bien j'ai mis 0 pour revenir au début du fichier, mais j'aurais pu mettre 4 - 17 ect... tout dépend de l'endroit où je veut retourner, mais le prtoblème reste le même, une fois que j'ai atteint la fin du fichier je ne peut plus relire quelque partie que ce soit dans le fichier.
> > Bub325
> > Le codeur pas comme tout le monde
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Oui mais pourquoi fais tu seek(0) et non seek(-sizeOfFIle) ?
> > >
> > > Car avec le vrais fonction fseek, tu fais :
> > > fseek(fichier,0,SEEK_SET);
> > >
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut,
> > > > J'ai deux problème distinct avec fstream,
> > > >
> > > > Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce dernier, par exemple:
> > > >
> > > > ifstream file("test.txt");
> > > > char ligne[0xFF];
> > > > while (file.getline(ligne,0xFF))
> > > > printf("%s\n",ligne);
> > > > file.seekg(0);
> > > > while (file.getline(ligne,0xFF))
> > > > printf("%s\n",ligne);
> > > > file.close();
> > > >
> > > > ne m'affichera qu'une fois le fichier et non pas 2 comme je le voudrais.
> > > > Pourquoi ? et comment y remédier autrement qu'en fermant et en réouvrant le fichier ?
> > > >
> > > > Sinon mon dexième problème est que je fixe la lecture du fichier à une endroit, et il est décalé de deux octets je ne sait pas pourquoi (il me vire donc les 2 première lettres de ma phrase). Exemple:
> > > >
> > > > int start_pos = 17;
> > > > fbub.seekg(start_pos);
> > > > cout << start_pos << " - " << fbub.tellg() << endl;
> > > >
> > > > ce code m'affichera '17 - 19'
> > > >
> > > > Pourquoi ? et comment résoudre ce problème ???
> > > >
> > > > Merci beacoup pour vont réponses qui me seront je pense très profitable,
> > > >
> > > > Bub325
> > > > Le codeur pas comme tout le monde
> > > >
> > >
> >
>


Cette discussion est classée dans : fichier, problème, ligne, file, fstream


Répondre à ce message

Sujets en rapport avec ce message

Comment se positionner sur une ligne dans un ifstream? [ par mcrogiez ] Bonjour à tous,Mon problème est très simple, cependant, je n'arrive pas à le résoudre.En C++, j'utilise des objets de type ofstream et ifstream afin d Problème avec ifstream [ par slashparof ] Voilà mon problème:Je fais un prog en C++ qui est censé lire dans un fichier et trouver certaines information. Pour améliorer la lisibilité de mon cod ecriture fichier ligne [ par PepeDeLuxe ] Hello Voila j'ai un problème que je n'arrive pas à résoudre pour un projet, si quelqu'un pouvait m'aider ça serait sympa.. Je voudrais écrire le dans lire et ecrire en meme temps dans un fichier avec les fstream [ par Daimadoshi ] slt tlm, voila j'i un petit probleme : je voudrai pouvoir faire des acces en lecture et en ecriture sur un fichier mais je n'y parviens pas voici mon extraire une chaine d'un fichier avec fstream [ par graall ] bonjour,j'ai un problème avec ce code :(le problème est explique dans les comentaires)int x = 10; fstream file("fichier.txt, ios_base::in); char *begi Lecture d'un fichier et affichage de balises [ par SpiritAnghell ] Bonjour;Le programme suivant est censé extraire les balises d'un fichier xml et les afficher une par une:#include #include #include #include #include Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ? [ par ndubien ] Bonjour,Je cherche à savoir comment il faut faire pour prendre tous le contenu d'un fichier (texte) possedant des retours à la ligne!J'ai l'hbitude de problème avec fstream [ par clempar55 ] Voilà j'ai un problème avec la classe de lecture de fichiers fstream. Je dois écrire dans un fichier le contenu de d'un std:::string comportant des es Lire une ligne au hazard dans un fichier [ par sebastienmz ] Bonjour je suis confronter a un problème : j'aimerais lire une ligne au hazard dans un fichier et je sais pas trop comment faire , pourriez-vous m'aid Sauter la ligne dans un fichier [ par xmustapha ] bonjour tout le monde comment faire pour sauter la ligne dans un fichier  dans la function WriteFile() (je suis sur C++ Builder 2007)j'ai essayer çain


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,281 sec (4)

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