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 :

à quoi sert errno.h


Sujet :

C++

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut à quoi sert errno.h
    Bonjour à tous,
    je suis débutant en C/C++
    parmi mes fichiers d'entête, j'ai
    # include <errno.h>
    Est ce que quelqu'un peut m'expliquer que contient ce fichier , à quoi il sert et comment construire un tel fichier. ( un tutoriel, un lien qui explique bien ).
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Points : 85
    Points
    85
    Par défaut
    tu peut voir ici. Wikipédia et Wikibooks peuvent répondre à ta question.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    errno.h est un fichier d'en-tête de la librairie standard du C et non du C++. En gros ce fichier contient quelques définitions de code d'erreur en constante (pouvant être utilisée dans des #if) et la définition de errno qui peut être utilisé comme l-value (errno=5.
    En C++, tu passeras plutôt par des exceptions.
    Ce fichier ne se construit pas mais normalement est présent avec la bibliothèque standard de ton compilateur, par exemple :
    -> MinGW\include\errno.h pour MinGW
    -> Microsoft Visual Studio 9.0\VC\include\errno.h pour Visual Express.
    Si tu ne l'as pas, alors réinstalle ton compilateur.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    errno.h est un fichier d'en-tête de la librairie standard du C et non du C++.
    La bibliotheque du C90 fait partie de celle du C++ (avec quelques modifications,). Ce n'est pas quelque chose qui est disponible par hasard et ca reste le seul moyen de faire certaines choses.

    En C++, tu passeras plutôt par des exceptions.
    Comme c'est utilise par la lib standard pour reporter certains problemes, tu n'as pas le choix: si tu veux les detecter, tu utilises errno.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Disons que comme on est dans le forum C++/Débuter autant commencer par faire des choses 100% C++, ç-a-d en ignorant qu'on hérite des choses du C

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Disons que comme on est dans le forum C++/Débuter autant commencer par faire des choses 100% C++, ç-a-d en ignorant qu'on hérite des choses du C
    Ca ne me gene pas de ne pas dire qu'on les herite du C -- encore que presenter le C++ sans dire qu'il herite des choses du C, je ne vois pas trop l'interet; c'est une excuse bien commode pour expliquer certaines situations, par exemple pourquoi acos() ne jette pas d'exception quand on lui passe un argument hors domaine.

    Ca ne me gene pas de ne pas presenter ce qui dans la lib du C a des alternatives et d'en deconseiller l'usage si le sujet vient sur le tapis. Mais l'on est pas dans ce cas. errno.h (*) n'a pas d'alternative (par exemple pour voir si un appel a acos, ou cosh si tu veux une fonction pour laquelle la validation a priori est moins aisee, a echoue).

    (*) avant que cerrno n'arrive sur le tapis, les differences de comportement ne me semblent pas significatives pour la discussion d'une part, on ne peut pas dependre sur ces differences parce qu'elles n'est pas toujours correctement implementees d'autre part (ce n'est pas possible de batir une SL C++ conforme sur ce point sur une SL du C qu'on ne controle pas).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

Discussions similaires

  1. A quoi sert XML-Schema
    Par Community Management dans le forum Valider
    Réponses: 20
    Dernier message: 26/01/2009, 09h52
  2. à quoi sert le délestage?
    Par r0d dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 06/10/2004, 14h34
  3. a quoi sert le schema dans postgres ??
    Par champion dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 13/09/2004, 10h25
  4. [info] A quoi sert ImageObserver ?
    Par FrigoAcide dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 22/03/2004, 17h20

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