begin process at 2012 05 29 21:51:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Problème de réouverture de fichier texte


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

Problème de réouverture de fichier texte

mardi 19 juillet 2005 à 16:44:23 | Problème de réouverture de fichier texte

LFK

Bonjour,
Voici mon problème : J'arrive à ouvrir et afficher le contenu d'un fichier texte, mais sa réouverture ne se passe pas correctement.
D'où vient le problème ? Comment le corriger ?

Voici le code source :
#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
   string NomFichier("");
   cout << "Entrez le nom du fichier : ";
   cin >> NomFichier;

   ifstream f(NomFichier.c_str());
   if(f) //existe déjà?
   {
      cout << "*** Contenu actuel du fichier : ***\n";
      char ch;
      while(f.get(ch))
         cout << ch;
      cout << "*** Fin du fichier " << NomFichier << ". ***\n";
   }

   f.close();

   f.open(NomFichier.c_str());
   if(!f.good())
   {
      cout << "Ouverture impossible de " << NomFichier
           << " en lecture.\n";
      system("PAUSE");
      return(1);
   }
   else
   {
      cout << "\nContenu du fichier :\n";
      char ch;
      while(f.get(ch))
         cout << ch;
      cout << "*** Fin du fichier " << NomFichier << ". ****\n";
      f.close();
   }
  
   system("PAUSE");
   return EXIT_SUCCESS;
}


Et voici la sortie du programme :
Entrez le nom du fichier : fText.txt
*** Contenu actuel du fichier : ***
1ere ligne,
2nd ligne.
*** Fin du fichier fText.txt. ***
Ouverture impossible de fText.txt en lecture.
Appuyez sur une touche pour continuer...

Je pense que le problème vient de la ligne
    f.open(NomFichier.c_str());
mais je ne le vois pas.

mercredi 20 juillet 2005 à 07:39:33 | Re : Problème de réouverture de fichier texte

ddesbuis

Réponse acceptée !
ajoute

f.clear(); // le statut de f doit être eofbit car tu as atteint la fin du fichier

apres f.close() :

void clear ( iostate state = goodbit );

Set control states.
  Sets a new value for the control state ignoring the existing value.

Parameters.

state
  An object of type ios_base::iostate that can take as value any combination of the following state flag member constants:
  • badbit  (critical error in stream buffer)
  • eofbit  (End-Of-File reached while extracting)
  • failbit (failure extracting from stream)
  • goodbit (no error condition, represents the absence of the above bits)
  These are static member constants inherited from ios_base. You may combine more than one state flag bitmask using the bitwise | (or) operator.
  If this parameter is not specified, goodbit is assumed so any error state is cleared.

Return Value.
  none



mercredi 20 juillet 2005 à 07:41:52 | Re : Problème de réouverture de fichier texte

ddesbuis

et plutot que :

if(f)

utilise

if (f.good())

ou

if (f.fail())

perso je trouve ca plus approprié et plus clair





mercredi 20 juillet 2005 à 23:24:11 | Re : Problème de réouverture de fichier texte

LFK

Merci, ça marche impec'.


Cette discussion est classée dans : fichier, problème, cout, nomfichier, réouverture


Répondre à ce message

Sujets en rapport avec ce message

Pb de compilation [ par Cyberboy2054 ] Salut J' ai un piti problème de compilation en C++Quand j' ai terminé mon programme (un aplication console)je teste mon programme depuis le compilateu Problème avec une boucle while [ par arconius ] voilà j'ai fait un prog où l'on tire des dés mais j'ai un problème avec ma boucle while car au lieu de me donner un chiffre aléatoire à chaque fois il Ecriture/lecture dans un fichier [ par SneakGuy ] Haaa... Merci, sa m'a aider... Enfin, j'ai encore plusieurs problemes...pour l'ecriture j'ai quelque chose qui ressemble a sa:char user[20];char pass[ La valeur 26=0x1A pose un problème de lecture de fichier [ par sengr ] Salut!Jsuis en stage et jsuis pas un AS du dévelopement et ca URGE!J'ai rencontré un BIG problème : le coup du de la valeur 26=0x1A avec les fonctions Problème avec CListBox [ par amel ] Bonjour a tous,Je suis en train de creer une application sous Visual C avec les MFC. J'utilise une CListBox dans laquelle j'affiche une liste d'elemen Transfert d'un ftp (2) [ par header ] Voila le problème :J'ai ouvert un fichier sur un ftp et je me prépare à lire quelques bytes de celui ci. Pourquoi ca marche trés bien avec un fichier recherche et comparaison dans fichier [ par rissorg ] J'ai un probleme de recherche et de comparaison entre une string rentree au clavier et des donnees sur un fichier texte.Voici mon source:#include #inc problème avec fichiers !!! [ par ben01n ] salut tout le mondeje prog sous linux et j'aurais besoin d'aide pour un de mes programmes dont j'ai déposé la source sous le nom "client-serveur en ud NEED HELP VISUAL STUDIO & .exe [question simple enfin je crois...] [ par starkrous ] voila j'ai visual studio j'ai mon .cpp quand je crée un .exe pas de probleme ça marche nikel, sauf que je me suis rendu compte que ce .exe ne marchait Pb de gestion de fichier avec fstream [ par 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 d


Nos sponsors


Sondage...

Comparez les prix

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

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