Afficher le contenu d'un fichier texte [Résolu]

Messages postés
35
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
2 juin 2015
- - Dernière réponse : cs_johndave
Messages postés
35
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
2 juin 2015
- 5 déc. 2007 à 17:08
Chers programmeurs,
je voudrais, apres avoir ecrire dans un fichier texte, pouvoir afficher son contenu. Quel est le pocesus? Merci bcp.
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
1
1
Merci
           Salut, le moyen le plus facile pour toi est d'utiliser la std du c++:

#include
#include <fstream>

using namespace std;

void afficheContenuTexte(const char*const nomFichier)
{
    ifstream fichier;
    char buffer[2048];
   try
   {
       fichier.open(nomFichier,ios::in);
      if(fichier.is_open())
          while(fichier.getline(buffer,2048) && !fichier.eof())
            //affichage sur console
            cout<<buffer<<endl;
   }catch(...)
   {
   }
  if(fichier.is_open())fichier.close();
}

  il s'agit d'un programme basique qui te permettra d'afficher le contenu du fichier texte. bien entendu il y a d'autres moyens plus efficaces, plus evolues pour faire des traitements de texte plus complexes comme des lectures aleatoires repetees (cas des bases de donnees, traitements audio video en mode streaming, etc)

         J'espere avoir aide, Salut

je suis heureux de faire partie d'une grande famille ...!

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nickydaquick
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
Dans une editbox ???
si oui: SetWindowText()

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Commenter la réponse de Neo_Fr
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
0
Merci
Oups j'ai lu trop vite :S

Neo_Fr
Commenter la réponse de Neo_Fr
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
Le topic est dans la section C.

Lire un fichier ligne par ligne... pas terrible.
Lire tout d'un coup si possible. Sinon lire par bloque de plusieurs ko.

La gestion des exceptions est, si je ne me trompe pas, très couteuse en ressource. Vos mieux éviter ce genre de trucs.

C++ (@++)<!--
Commenter la réponse de SAKingdom
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
1
0
Merci
Salut ,
Merci pour la critique, en effet il est possible que je n'ai pas vu que ce message demandais de l'aide en C et non pas en C++. je m'en excuse.
En ce qui concerne la lecture d'un fichier ligne par ligne , il ne s'agit pas d'une lecture ligne par ligne mais d'une lecture par flux d'octets bufferises : ce qui veut dire que lorsque l'on a un caractere d'espacement (\n,\t,\r,' ', etc) il s'arrete de lire et retourne. Seulement si j'ai 2047 caracteres au total, il arrete kan meme.
Maintenant si tu veux optimiser ta lecture , c pas une lecture simple par block kil te faut, il te faut un tampon et des operations asynchrones bas-niveau. Exemple de fonctions : voir comment de Neo_fr plus haut.
   Merci.
je suis heureux de faire partie d'une grande famille ...!
Commenter la réponse de nickydaquick
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
"En ce qui concerne la lecture d'un fichier ligne par ligne , il ne
s'agit pas d'une lecture ligne par ligne mais d'une lecture par flux
d'octets bufferises : ce qui veut dire que lorsque l'on a un caractere
d'espacement (\n,\t,\r,' ', etc) il s'arrete de lire et retourne."

Je ne m'avancerai dans rien la dedans. Je ne connais pas assez les streams. N'empêche que faire une boucle qui appelle 2 méthodes, une pour lire une ligne, l'autre pour tester si on est à la fin du fichier, je trouve ça inutile.

"Maintenant si tu veux optimiser ta lecture , c pas une lecture simple
par block kil te faut, il te faut un tampon et des operations
asynchrones bas-niveau."

Hein ??? Lis ton fichier par bloque de 32 ko. Si moins, lis tout d'un coup. Je vois mal comment avoir plus rapide.

C++ (@++)<!--
Commenter la réponse de SAKingdom
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
Les buffers des autres sont toujours les meilleurs...
Il faut laisser les croyances pour les lieux de culte.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
35
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
2 juin 2015
0
Merci
Je vous remercie bcp. Et je remercie a tous.
Commenter la réponse de cs_johndave