====== errno ====== errno ist definiert in der ''[[start|errno]]'', die in C über ''errno.h'', bzw. in C++ über ''cerrno'' eingebunden wird. ===== Makro ===== errno ist in der Regel als [[c:pre:define#makros|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 #include #include #include 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 ===== [[c:lib:errno:start|errno.h]] \\ [[c:lib:string:start|string.h]]: [[c:lib:string:strerror()]] \\ [[c:lib:stdio:start|stdio.h]]: [[c:lib:stdio:perror()]]