Copier résultat variable dans fichier TXT

pancratee Messages postés 17 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 1 avril 2010 - 27 août 2009 à 09:47
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 27 août 2009 à 11:42
Salut tout le monde,

Je souhaite afficher et mettre en forme le résultat de mon programme à savoir les variables dans un fichier txt.

J'ai tenté quelque chose avec " fprintf " qui n'a pas fonctionné.

int main(int argc, char* argv[])
{
File* fichier;
fichier = fopen( test, "w")
while(kbhit()==0)
{
process();
}
#define test "test.txt"
char nom
fprintf ( fichier.txt,"votre nom est : %s",nom )


}

la fonction process ne pose pas de problème mais plutot le while.


Si vous avez d'autre technique que le fprintf je suis preneur.

Merci pour vos réponses.

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
27 août 2009 à 10:04
Je ne voit pas comment ce code peut seulement compiler... C'est assez incohérent !
Pourquoi as-tu un #define ? Il manque des guillements et des points virgules à certains endroits.
A quoi servent kbhit et process ?


#include <stdio.h>

int main(int argc, char* argv[])
{
  FILE* fichier;
  char* nom = "Toto";

  fichier = fopen("test.txt", "w");
/*   while (kbhit() == 0) */
/*   { */
/*     process(); */
/*   } */

  fprintf (fichier, "Votre nom est : %s\n", nom);

  return 0;
}
0
pancratee Messages postés 17 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 1 avril 2010
27 août 2009 à 10:53
en faite le but du programme est de de scanner l'activité d'un système de climatisation, de récupérer ces donneés ( DOS ) et de les exporter dans un fichier txt.

Certaines parties de mon code sont confidentielles d'où le fait que certaines fonctions apparaissent sans être déclarées.

kbhit fait en sorte que le programme continue de s'exécuter tant que je n'ai pas appuyé sur une touche.

process () : il s'agit des différentes fonctions qui s'exécutent et qui affichent le résultat dont j'ai besoin.

Les variables du système de clim remplissent un buffer qui est vidé à la fin du programme ( au moment où j'appuie sur une touche ) et donc c'est à ce moment là que je veux récupérer les données et remplir un fichier txt.

Avec mon fprint, le fichier txt est bien créé mais vide.

Je pense donc que le problème vient du fait que le fichier txt se créé une fois que mon buffer est vidé.

Je ne suis donc pas sur que c'est un problème de programmation du fprint.

Peut être que je me trompe.

Si cela ne viens pas du fprint merci de bien vouloir me donner des pistes pour pouvoir réaliser l'objectif de mon programme.
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
27 août 2009 à 11:42
Sans le code de process, ça va être dur de t'aider ! Mais on va essayer.

Alors, si process remplit un buffer, comment s'appelle-t-il ? Est-il accessible ?
fprintf, n'as pas de problème, ton buffer est peut être vide lors de l'écriture de celui-ci dans le fichier.
Si tu veux vérifier que tout va bien avec fprintf, fais un test et met fprintf(fichier, "Toto\n"); Si tu as bien toto dans ton fichier, c'est que la fonction est bien utilisée.
0
Rejoignez-nous