Lecture de fichier

Lecture de fichier - C++ - Programmation

Marsh Posté le 11-02-2005 à 10:25:12    

Bonjour,
 
j'essaie d'espérement de lire des infos dans un fichier de données. En fait, mon fichier a la forme suivante :  
 

200502092444C09678020120050202A20050204TCN
200502092745C18671020120050208E20050208PJJ
200502092541C14419020120050204A20050208TCN
...

 
Je souhaite récupérer la première donnée de chaque ligne qui est la date. Pour cela, j'ai écris la fonction suivante :
 

Code :
  1. int readFile (char* fileName)
  2. {
  3. ifstream file (fileName, ios::in);
  4. if (!file.is_open())
  5. {
  6.  MessageBox (NULL, "ERROR : File not opened", fileName, MB_OK);
  7.  return -1;
  8. }
  9. else
  10. {
  11.  char line [LINELEN+1];
  12.  char date [DATELEN+1];
  13.  int lineNum = 1;
  14.  while (!file.eof())
  15.  {
  16.   file.seekg(sizeof(char) * lineNum * LINELEN, ios::beg);
  17.   file.getline(date, sizeof(char) * DATELEN);
  18.   lineNum++;
  19.   MessageBox (NULL, line, "File reading...", MB_OK);
  20.  }
  21.  file.close();
  22. }
  23. return 0;
  24. }


 
Le résultat c'est que toutes les chaines que je recupere sont vide.
 
Quelqu'un saurait-il m'expliquer pourquoi svp???
 
Merci d'avance.

Reply

Marsh Posté le 11-02-2005 à 10:25:12   

Reply

Marsh Posté le 11-02-2005 à 10:33:33    

si tu ouvrais ton fichier en "ios:: out" au lieu de "ios::in" ça irait nettement mieux :D
 
la tu as ouvert ton fichier pour l'écriture uniquement, pas pour la lecture, donc ça ne saurait pas marcher...


Message édité par moi23372 le 11-02-2005 à 10:33:53
Reply

Marsh Posté le 11-02-2005 à 10:40:31    

je vomis
 
 
ifstream in("fichier.text" );
string line;
 
while(getline(in, line))
{
  // travaille avec ta ligne
}
 
 
et c'est tout !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed