Siirry sisältöön

C/Standardikirjastot/errno.h

Wikikirjastosta
#include <errno.h>

Määrittelee makron errno, jonka voi asettaa erinäiset funktiot, kuten I/O-funktiot (ks. stdio.h) ja matematiikkafunktiot (ks. math.h). errno ei välttämättä ole muuttuja, mutta sen arvon voi lukea ja siihen kirjoittaa niin kuin se olisi.

Sen tyyppi on kokonaisluku int. 0 ilmaisee, ettei virhettä ole tapahtunut. Mikään kirjaston funktio ei standardin mukaan talleta arvoa 0, mutta käyttäjä voi tehdä niin, esim. tarkistaakseen, johtaako seuraava funktio virheeseen (ettei virhekoodia 'jää aiemmasta funktiosta'). Virhekoodit ovat standardin mukaan positiivisia.

Lisäksi määrittelee kaksi arvoa:

EDOM
ERANGE

errno:n arvoksi asetetaan EDOM, mikäli matematiikkafunktiota kutsutaan parametrilla, joka on määrittelyalueen ulkopuolella. errno:n arvoksi asetetaan ERANGE, mikäli matematiikkafunktion palauttama arvoa ei voi esittää sen palauttaman tietotyyppin puitteissa.

C-standardi ei määrittele I/O-funktioiden asettamia virhekoodeja muuten kuin että ne ovat positiivisia. POSIX-standardi esimerkiksi määrittelee monia virhekoodeja.

Käyttäjälle lienee hyvä näyttää sekä virheen numero että merkkijonoesitys, jonka saa string.h:n strerror-funktiolla, tai tulostettua suoraan stdio.h:n perror-funktiolla.