IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

différence entre Perror et fprintf(stderr,


Sujet :

C

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 127
    Points : 88
    Points
    88
    Par défaut différence entre Perror et fprintf(stderr,
    Bonjour à tous

    Il y t'il une différence entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    perror("Donnees eronees");
    // et 
    fprintf(stderr,"Donnees eronees");
    Merci à tous

    A bientôt

    Rémi

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par remi77
    Il y t'il une différence entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    perror("Donnees eronees");
    // et 
    fprintf(stderr,"Donnees eronees");
    Qu'en pense ton livre de C ? Ou ta doc favorite ? Tu es trop flemmard pour chercher, alors on doit le faire à ta place ?

    http://man.developpez.com/

    tu connais ?

    Faut pas déconner non plus, on est pas le bureau des renseignements basiques.

    Comme j'ai lu un jour dans une signature sur Usenet : "ask smart questions"
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 127
    Points : 88
    Points
    88
    Par défaut
    Emmanuel a dit
    Tu es trop flemmard pour chercher, alors on doit le faire à ta place ?
    Pas du tout, perror affiche un message d'erreur, et fprintf(stderr...), oriente la chaine de caracteres vers un flux reservés aux messages d'erreur.

    Donc pour moi, il n'y a pas de différence à ma connaissance et pour m'en assurer, je demande à d'autres personnes plus calés que moi.
    Les apparences sont souvent trompeuses et souvent beaucoup d'avis et de propositions diffférentes suite à un sujet posé.
    Toi meme et d'autres m'ont souvent donné de bons conseils, et je vous aprécie tous ici. Et je ne veux pas me contenter de lire les docs uniquement
    (je le fais mais il n'y a pas que ca).
    Un exemple parmis tant d'autres, si je m'arretais au doc et au bouquin (hormis la faq C et bien je continuerais à utiliser gets.

    Et aussi, hormis le fait de poser des questions techniques c'est aussi le plaisir de partager avec vous tous, et cette question posée peu en intéresser d'autre et vice versa.
    Peu etre avec le temps, j'aurais plaisir à dépanner les gens comme tu le fais mais pour l'instant mon niveau ne me le permet pas.
    A bientot

    Rémi

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Comme c'est bien précis dans le man: perror, cette fonction renvoie un message par rapport à la dernière erreur (nom du fichier, numéro de ligne, type d'erreur suivant errno, etc...) alors que fprintf (stderr, ...); ici c'est ton message rien de plus.

    La fonction perror() affiche un message sur la sortie d'erreur standard, décrivant la dernière erreur rencontrée durant un appel système ou une fonction de bibliothèque. D'abord, (si s n'est pas NULL et *s non plus), la chaîne de caractère s est imprimée, suivie d'un double-point ou d'un blanc, puis le message, suivi d'un saut de ligne.
    La chaîne de caractères contient généralement le nom de la fonction où s'est produit l'erreur. Le numéro d'erreur est obtenu à partir de la variable externe errno, qui contient le code d'erreur lorsqu'un problème survient, mais qui n'est PAS effacé lorsqu'un appel est réussi.
    La liste globale d'erreurs sys_errlist[] indexée par errno peut être utilisée pour obtenir le message d'erreur sans le saut de ligne. Le plus grand numéro de message contenu dans cette table est sys_nerr - 1. Soyez prudents lors des accès directs dans cette liste, car de nouvelles erreurs n'ont peut être pas de message dans sys_errlist[].
    Donc on en déduit quoi ? Que non seulement perror peut afficher un message fournit par l'argument s mais fournit également un message d'erreur de la libc donc, cela peut apporter plus d'informations concernant l'erreur courante. Il va de soi que fprintf ne fait rien de tel sauf si tu l'écrit toi même
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 127
    Points : 88
    Points
    88
    Par défaut
    J'ai tiré les instructions concernant perror du livre "le langage C" de chez campuspress, et c'est vrai leur explications est beaucoup moins bien détaillés que la votre

    Merci beaucoup

    A bientôt

    Rémi

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par remi77
    J'ai tiré les instructions concernant perror du livre "le langage C" de chez campuspress, et c'est vrai leur explications est beaucoup moins bien détaillés que la votre

    Merci beaucoup

    A bientôt

    Rémi
    Si tu veux un livre, un vrai, achète le K&R et jète l'autre à la poubelle
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 5
    Dernier message: 11/12/2002, 12h31
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo