Pages : 1
#1 Le 18/12/2007, à 12:26
- _SamSoft_
[Résolu] stderr, mais où es tu ?
Bonjour, je programme un certain logiciel en C et j'ai besoin de lire mon fichier stderr :
fprintf(stderr, "mon erreur\n");
Mais il n'est pas dans mon repertoire courant comme sous windows.
O๠est il sous linux ?
Merci d'avance
Dernière modification par _SamSoft_ (Le 18/12/2007, à 13:11)
if(!physics)
/* nothing */
else
/* everything */
Hors ligne
#2 Le 18/12/2007, à 13:03
- Zoltan_K
Re : [Résolu] stderr, mais où es tu ?
Par defaut, la sortie d'erreur est dans ta console.
En tous cas, chez moi :
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(int ac, char **av)
{
write(1, "Standard\n", strlen("Standard\n"));
write(2, "Erreur\n", strlen("Erreur\n"));
return (0);
}
M'affiche les deux messages dans ma console.
Pour rediriger la sortie d'erreur vers un fichier, tu peux faire :
$>./ton_prog 2> fichier_d_erreur
Pour rediriger la sortie d'erreur vers un fichier particulier.
Il y a surement un moyen de le configurer par defaut mais j'ai jamais cherche comment...
Que cherchait à faire l'Homme quand il a découvert que la vache donnait du lait ?
Hors ligne
#3 Le 18/12/2007, à 13:11
- _SamSoft_
Re : [Résolu] stderr, mais où es tu ?
Merci je vais prendre :
$>./ton_prog 2> fichier_d_erreur
Merci encore
if(!physics)
/* nothing */
else
/* everything */
Hors ligne
#4 Le 18/12/2007, à 13:27
- freebird
Re : [Résolu] stderr, mais où es tu ?
Petite précision complémentaire :
"> <fichier>" permet de rediriger la sortie standard vers un fichier on peut l'écrire également "1> nom_du_fichier"
Pour rediriger à la fois la sortie d'erreur et la sortie standard il faut faire "> nom_du_fichier 2>&1".
A noter que un simple ">" écrase le fichier. Pour faire un ajout à la fin il faut mettre un double : ">> nom_du_fichier".
Ca ne te servira peut-être pas mais on ne sait jamais
Hors ligne