Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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 smile


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 smile

Hors ligne