====== strerror() ====== strerror ist definiert in der ''[[start|string]]'', die in C über ''string.h'', bzw. in C++ über ''cstring'' eingebunden wird. ===== Funktion ===== Die Funktion strerror nimmt einen Fehlercode der Standardbibliothek, den man mit [[c:lib:errno:errno]] erhält und liefert eine dazu passende kurze Fehlerbeschreibung zurück. ===== Signatur ===== char * strerror ( int errnum ); **errnum**: Fehlernummer **Return value**: String mit Fehlerbeschreibung ===== Fehlerquellen ===== Der zurückgelieferte String ist in einem statischen Array gespeichert und sollte vom Programm nicht überschrieben werden. Der Inhalt des Strings auf den der Zeiger zeigt ändert sich beim nächsten Aufruf von strerror. Wenn man den Fehlerstring später noch braucht, sollte man ihn sich kopieren. \\ GCC: Es kann zu Speicherzugriffsfehlern kommen, wenn die Funktion über eine interne Definition akzeptiert wurde, das Programm also durchkompilierte, aber der ''string.h'' nicht inkludiert wurde. ===== Beispiel ===== Code: #include #include #include #include int main( void ) { FILE * file = fopen( "nicht-existierende-datei", "r" ); if( file ) fclose( file ); else printf( "Fehler: %s\n", strerror(errno) ); return EXIT_SUCCESS; } Ausgabe: Fehler: No such file or directory ===== siehe auch ===== [[c:lib:errno:errno]]