Problème avec ios::app [Résolu]

Signaler
Messages postés
6
Date d'inscription
dimanche 15 octobre 2006
Statut
Membre
Dernière intervention
18 novembre 2006
-
Messages postés
6
Date d'inscription
dimanche 15 octobre 2006
Statut
Membre
Dernière intervention
18 novembre 2006
-
Bonjour tout le monde,

J'ai un petit soucis avec ios::app ou avec la fonction scanf.
Voici une partie de mon code:

#include<fstream>
...
 fstream f;
 f.open("fichier.dat",ios::app);
 if(!f)
 {
        cerr<<"Erreur d'ouverture de fichier.dat";
        return;
    }
    else
    {
        for(int i=0;i<N;i++)
       {
            cout<<"Tapez le nom:"<<endl;
            scanf("%s",Tab[i].Index::nom[32]);
            f<<Tab[i].Index::nom[32];
        }
      f.close();
   }
  }

Il y a un problème d'ouverture certainement du fichier puisqu'il rentre dans la boucle if(!f).
J'ai vérifié si l'adresse du fichier qui a été crée précédemment est correct. Et c'est le cas.
Je ne vois pas du tout d'où vient le problème.
Si quelqu'un pouvait m' aider, ce serait très gantil à vous.

Merci d'avance pour votre aide.

Si l'on n'avance pas, on rate beaucoup de choses.

4 réponses

Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Salut, essaye avec
ofstream f;

au lieu de
fstream f;

Si ca ne marche toujours pas, c'est que fichier.dat n'existe pas !

Et puis fait attention, la scanf ca fait pas trop C++, utilise std::cin

TuRn3r
Messages postés
64
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
1 juillet 2010
2
Test avec of stream comme l'a suggerer turnerom ou essaye le flag:

fstream::out | fstream::app au lieu de app tout seul

Doc sur cplusplus.com ici

Mad Love Disease
Messages postés
6
Date d'inscription
dimanche 15 octobre 2006
Statut
Membre
Dernière intervention
18 novembre 2006

Bonjour turnerom,

Merci pour ta réponse.
J'ai remplacé fstream par ofstream comme tu me l'as conseillé et cela fonctionne.
Pour scanf, je l'ai aussi remplacé par cin, et cela fonctionne aussi.
Je te remercie chaudement pour ton aide qui m'a été précieuse.
Bonne fin d'après-midi.

kattig

Si l'on n'avance pas, on rate beaucoup de choses.
Messages postés
6
Date d'inscription
dimanche 15 octobre 2006
Statut
Membre
Dernière intervention
18 novembre 2006

Bonjour mad_love_disease,

Merci pour ton aide bien que mon problème soit à présent résolu.
Bonne journée à toi aussi

kattig

Si l'on n'avance pas, on rate beaucoup de choses.