joduak
Messages postés194Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention13 avril 2007
-
11 avril 2006 à 23:48
Utilisateur anonyme -
12 avril 2006 à 16:19
Bonjour,
Je souhaite créer une méthode permettant d'écrire dans un fichier.
Mais cela ne marche pas!!
Le problème c'est que mon ofstream File est définit dans une condition if(), donc la variable est locale.
Le compilateur ne la voit pas en dehors de ce condition if().
Donc quand je mets if (!File ) il ne connait pas la variable.
Comment puis-je contourner ce problème?
Rmq : Ma variable NewFile me dit si je peux écraser mon fichier précédent ou ajouter à la suite de mon fichier précédent
Voici mon code :
int FileOutput::WriteFile(string toto, int NewFile)
{
if( NewFile == 0 )
{
ofstream File (FILE_NAME, ios::out);
}
else
{
ofstream File (FILE_NAME, ios::app);
} if (!File )
{
cerr << "Impossible d'ouvrir le fichier!" << endl;
Je crois que cela ira(perso j'ai pa testé)tu me dira....mais je pense que l'idée est bonne
Médite sur le code suivant si ca compile pas car mon principe est bon.
int FileOutput::WriteFile(string toto, int NewFile)
{ ofstream Fileglobal;
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 12 avril 2006 à 09:41
Je pense qu'il n'y a pas besoin de spécifier le fait que ce soit un nouveau fichier, il suffit d'ouvrir le fichier avec ios::app (s'il existe pas, il va le créer)
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
joduak
Messages postés194Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention13 avril 2007 12 avril 2006 à 12:28
Je te remercie d'avoir proposé un truc mais malheureusement ça ne marche pas !
J'avais déjà essayé mais à chaque fois le compilateur n'aime pas cette écriture...
Il me dit que :
expected primary-expression before "File"
alors que j'ai déclaré comme tu m'as dit un Fileglobal au départ.
Voilà si vous avez d'autres idées...
Merci d'avance!
Vous n’avez pas trouvé la réponse que vous recherchez ?