écrire des fichiers log

aldoniel Messages postés 13 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 8 février 2007 - 9 sept. 2006 à 01:01
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 10 sept. 2006 à 09:26
Bonjour,

Lorsqu'on a un programme console qui affiche divers trucs à l'écran, on peut sauvegarder en redirigeant l'entrée vers un fichier, mais du coup, on ne voit plus rien à l'écran...
Y a-t-il un moyen d'avoir à la fois la sortie sur le fichier et l'écran ?

4 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
9 sept. 2006 à 14:55
Salut :

Tu peux utiliser la fonction fileno pour créer un handle sur le flux que tu veux.

int handle fileno (stdin);
// Selon la documentation aucune erreur n'est indiquée
// Si une erreur se produit
 
0
aldoniel Messages postés 13 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 8 février 2007
9 sept. 2006 à 16:01
Salut,
Désolé, j'ai pas vraiment compris ton astuce
avec fileno, je convertis FILE * stdout en int handle c'est ça que tu veux dire ?

unsigned char tamp[10];
puts("blah");
int a=fileno(stdout);
printf("%d\n",read(a, tamp, 5));

ça affiche bien à l'écran, mais juste après stdout est vide et read retourne -1. J'ai pas du saisir la manip.
0
aldoniel Messages postés 13 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 8 février 2007
9 sept. 2006 à 16:01
Salut,
Désolé, j'ai pas vraiment compris ton astuce
avec fileno, je convertis FILE * stdout en int handle c'est ça que tu veux dire ?

unsigned char tamp[10];
puts("blah");
int a=fileno(stdout);
printf("%d\n",read(a, tamp, 5));

ça affiche bien à l'écran, mais juste après stdout est vide et read retourne -1. J'ai pas du saisir la manip.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
10 sept. 2006 à 09:26
Salut :

fileno permet de créer un second handle vers le flux que tu veux dupliquer. 

J'ai pensé au fait que tu dois créer un second handle vers le flux de sotrie pour :

1. Afficher des données à l'écran.
           
Et en même temp

2. Ecrire des données dans un fichier.
0
Rejoignez-nous