Lire un fichier <== simple pour vous, moa j'ai du mal lol [c++] - C++ - Programmation
Marsh Posté le 24-07-2003 à 00:35:30
1) utilise les std::string et la fonction associée
getline(istream&, string& )
2) sinon ton code me parait OK... quel est le problème?
Marsh Posté le 24-07-2003 à 00:38:19
Sorry le problème c'est kil n'affiche le contenu du fichier qu'une seule fois ensuite il m'affiche "fin de fichier" du coup je kroa ke c'est pour ça kil ne rentre pas dans ma seconde boucle !!
Marsh Posté le 24-07-2003 à 00:54:10
ah oui, merde, j'avais pas vu. quand tu arrives en fin de fichier, le flag eof est positionné. donc il faut remettre les ardoises à zéro avec ::clear()
Code :
|
edit: petite amélioration
Marsh Posté le 24-07-2003 à 01:17:11
Merci bcp, je débute en C++ et je bute sur des problèmes relativement faciles !! Enfin, voilà j'ai compris et c'est l'essentiel !! Encore merci d'avoir répondu si vite !!
Marsh Posté le 24-07-2003 à 09:25:01
si tu debutes c'est pas mal t'en est deja a la gestion de fichiers .
Moi je debute et j'en suis qu'aux pointeurs et tout
Marsh Posté le 24-07-2003 à 11:17:56
++Taz a écrit : ah oui, merde, j'avais pas vu. quand tu arrives en fin de fichier, le flag eof est positionné. donc il faut remettre les ardoises à zéro avec ::clear() |
Le clear, mais voilà ce qui m'échappe depuis si longtemps, je vais peut être finir par les aimer ces fstream (en même temps on pourrait s'attendre à ce que seek enlève le flag eof quand on retourne au début du fichier).
Marsh Posté le 24-07-2003 à 11:21:42
VisualC_n3T a écrit : si tu debutes c'est pas mal t'en est deja a la gestion de fichiers . |
bè c'est le langage C++ ke je ne connais pas, mais j'ai de bonnes notions en programmation objets et en algorythmique. Cependant je te rassure, je galère grave quand même lol
Marsh Posté le 24-07-2003 à 11:23:11
LetoII a écrit : |
J'ai eu la même réflexion
Marsh Posté le 24-07-2003 à 00:26:57
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char fileName[80]="fic.txt";
char buffer[255];
char buffer2[255];
ifstream fin(fileName);
while(fin.getline(buffer,255))
cout << buffer << endl;
fin.seekg (0, ios::beg); //je pensais ke ça me permettrais de retourner au début du fichier !!
if(fin.eof())
cout << "fin de fichier";
while(fin.get(buffer2,255))
cout << buffer2 << endl;
return 0;
}
Voici mon code, je voudrais simplement lire deux fois de suite le contenu d'un fichier texte, rien de bien extraordinaire mais je n'y arrive pas.
Please help