Bien le bonjour,
Je fais appel à vous, car je rencontre un petit problème avec les fichiers...
En fait, j'ouvre un fichier, ensuite, j'essaye d'écrire dedans, mais rien n'y fait, le fichier reste désespérément vide après l'écriture...
Voici le code :
En fait, le premier open sert à vérifier si le fichier existe. En effet, pour que le fichier s'ouvre avec ces options, il doit préalablement exister...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 int entete = 0; fichier.open(nomFichier, ios::in | ios::out || ios::ate); if(fichier.is_open()) { fichier.close(); } else { fichier.open(nomFichier, ios::out | ios::app); if(fichier.is_open()) { fichier.write((char*)&entete, sizeof(entete)); cout << "test" << endl; fichier.close(); } }
Ensuite, si il est ouvert, c'est qu'il existe, et je peux le refermer.
Sinon, je le crée avec le second open, et ensuite, j'y écris un entête (qui représente le nombre d'enregistrements dans le fichier), et je referme le fichier.
Le problème est que après l'écriture dans le fichier, le "test" du cout est bien affiché, mais le fichier est vide (taille : 0 bytes)...
Quelqu'un voit où se trouve le problème ?
Je précise que je travaille sous un système UNIX.
Merci beaucoup !
Partager