Problème dans l'écriture dans un fichier texte depuis un programme C
Bonjour à tous,
je voulais écrire dans un fichier texte le résultat d'un test, j'écrit 0 ou 1 suivant l'état du test, le problème c'est qu'au début et pendant à peu près une minute, le programme fonctionne à merveille sauf qu'après le programme n'écrit plus dans le fichier. Est ce que vous pensez que ce problème est lié au tampon???
voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
void Enregis_Fichier()
{
FILE * pFile;
if(objet==true) //la variable globale objet change de valeur dans la
//fonction Test()
{
//Ecriture fichier Test.txt
ofstream objetfichier("TEST.txt", ios::app);
if(objetfichier)
{
rewind (pFile);
objetfichier<<"1"<<endl;
fflush(stdout);
objetfichier.close();
}
}
else if(objet==false)//la variable globale objet change de valeur dans la
//fonction Test()
{
ofstream objetfichier("TEST_OBSTACLE.txt", ios::app);
if(objetfichier)
{
rewind (pFile);
objetfichier<<"0"<<endl;
fflush(stdout);
objetfichier.close();
}
}
}
int main(int argc, char* argv[])
{
while (!WasKeyboardHit())
{
Test();
Enregis_Fichier();
if (objet==true)//la variable globale objet change de valeur dans la
//fonction Test()
{
printf("\nTest est juste:1");
fflush(stdout);
}
else
{
printf("\nTest est faut:1");
fflush(stdout);
}
}
return 0;
} |
merci d'avance pour votre aide, surtout que je suis dans l'urgence j'ai que peu de temps pour résoudre ce problème
Problème dans l'écriture dans un fichier texte depuis un programme C
Citation:
Envoyé par
Bktero
Ton code est écrit en C++, il est donc du ressort du forum C++. Un modérateur pourrait-il déplacer le sujet ?
Quelques remarques cependant :
- à quel moment pFile est associé à l'ouverture d'un fichier ? rewind() : pourquoi faire ?
- pour utiliser printf en C++ ? cout est ton ami.
- pourquoi faire fflush(stdout); alors que tu écris dans un fichier. C'est ton flux de fichier qu'il faut flusher.
je te remercie Bktero pour ta réponse rapide,
effectivement comme tu as remarqué, dans mon code j'ai mélangé le langage C et C++ mais ce-là vient du-fait que je suis débutant et je mélange les pinceaux.
alors la fonction rewind() sert à écrire toujours sur le début de la même ligne dans le fichier texte parce que dans le fichier texte je veux mettre un seul caractère 0 ou 1 .
Pour pFile cette ligne c'est un commentaire parce que qu'au début j'ai utilisé la méthode d'écriture :
Code:
1 2
|
pFile = fopen ("TEST.txt","w+");//pour ou8vrire le fichier Test.text |
Au lieu de l'ouverture avec la méthode
Code:
1 2
|
ofstream objetfichier("TEST.txt", ios::app); |
comment faire pour flusher le flux d'un fichier texte?
merci