Seitenleiste

Inhaltsverzeichnis

errno

errno ist definiert in der errno, die in C über errno.h, bzw. in C++ über cerrno eingebunden wird.

Makro

errno ist in der Regel als Makro implementiert und gibt den Fehlercode der zuletzt gerufenen Standard-Library Funktion wieder. Grundsätlich kann man den Fehlercode auch in eigenen Funktionen setzen, üblicherweise haben andere Libraries jedoch eigene Methoden zur Fehlerbehandlung.

Das Macro bildet einen Integerausdruck. Der Wert 0 bedeutet, dass kein Fehler aufgetreten ist, allerdings wird der Wert nur beim Programmstart auf 0 gesetzt. Aufrufe der Standard-Library belassen den Wert unangetastet, es sei denn sie setzen ihn auf einen neuen Fehlerwert.

Beispiel

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
 
int main( void )
{
  FILE * file = fopen( "nicht-existierende-datei", "r" );
  if( file )
    fclose( file );
  else
    printf( "Fehlercode %d, Fehlermeldung:%s\n", errno, strerror(errno) );
 
  return EXIT_SUCCESS; 
}

siehe auch