Re: un peu HS : probl=E8me en C

Top Page

Reply to this message
Author: Frédéric Mantegazza
Date:  
To: guilde
Old-Topics: Re: un peu HS : problème en C
Subject: Re: un peu HS : probl=E8me en C
Le mercredi 1 Décembre 2004 13:05, anne aublanc a écrit :

> Si je lance le programme en ligne de cde les messages d'erreurs
> apparaissent...
> Si je le lance à partir d'un autre pgm, je ne les ai pas...
>
> /* generic error messager - just to increase readability of the code
> below */
> void eout(const char *fmt, ...)
> {
>     va_list ap;
>     va_start(ap, fmt);
>     fprintf( stderr, "%s: ", program_name );
>     vfprintf( stderr, fmt, ap);
>     va_end(ap);
> }

>
> eout( "can't read directory '%s': %s\n", job_rep, strerror(errno));
>
> Je les retrouve dans /var/log/httpd/error_log
>
> Comment les faire apparaitre dans le programme appelé...?


Le programme appelant le tien doit rediriger la sortie d'erreur standard
(stderr) vers le fichier de log. Il faut donc que tu utilises un autre
stream. Essaye stdout, qui doit toujours être affecté à la console dans le
programme appelant. Mais bon, c'est pas propre...

En partique, remplace stderr par stdout dans la fonction eout.

--
Frédéric