perror,_wperror

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdio.h - Index


Header-Datei

errno.h, stdio.h

Kategorie

Diagnoseroutinen, Eingabe-/Ausgaberoutinen

Prototyp

void perror(const char *s);

void _wperror(const wchar_t *s);

Beschreibung

Gibt eine Systemfehlermeldung aus.

perror gibt die Systemfehlermeldung für die letzte Bibliotheksroutine, die die globale Variable errno gesetzt hat, in den stderr-Stream (normalerweise die Konsole) aus.

Ausgegeben werden das Argument s gefolgt von einem Doppelpunkt und der dem aktuellen Wert der globalen Variablen errno entsprechenden Meldung sowie ein abschließendes Zeilenvorschubzeichen. Üblicherweise wird der Dateiname des Programms als Argumentstring übergeben.

Auf das Array mit Fehlermeldungsstrings wird über die globale Variable _sys_errlist zugegriffen. Die globale Variable errno kann als Index für das Array benutzt werden, um den einer Fehlernummer zugehörigen String zu suchen. Keiner dieser Strings beinhaltet ein Zeilenvorschubzeichen.

Die globale Variable _sys_nerr enthält die Anzahl der Array-Einträge.

Die folgenden Meldungen werden von perror erzeugt:

Anmerkung:  Für Win32-GUI-Anwendungen muss stderr umgeleitet werden.

Arg list too big (Argumentliste zu lang)

Attempted to remove current directory (Versuch, das aktuelle Verzeichnis zu löschen)

Bad address (Falsche Adresse)

Bad file number (Falsche Dateinummer)

Block device required (Blockgerät erforderlich)

Broken pipe (Fehlerhafte Pipe)

Cross-device link (Kreuzverbindung von Geräten)

Error 0 (Fehler 0)

Exec format error (Fehler beim Exec-Format)

Executable file in use (Ausführbare Datei wird verwendet)

File already exists (Datei bereits vorhanden)

File too large (Datei zu groß)

Illegal seek (Unzulässige Positionierung)

Inappropriate I/O control operation (Unzulässiger E/A-Steuervorgang)

Input/output error (Fehler bei Ein-/Ausgabe)

Interrupted function call (Funktionsaufruf gestört)

Invalid access code (Ungültiger Zugriffscode)

Invalid argument (Ungültiges Argument) Resource busy (Ressource belegt)

Invalid data (Ungültige Daten) Resource temporarily unavailable (Ressource vorübergehend nicht verfügbar)

Invalid environment (Ungültige Umgebung)

Invalid format (Ungültiges Format)

Invalid function number (Ungültige Funktionsnummer)

Invalid memory block address (Ungültige Speicherblockadresse)

Is a directory (Ist ein Verzeichnis)

Math argument (Mathematisches Argument)

Memory arena trashed (Speicherbereich nicht mehr existent)

Name too long (Name zu lang)

No child processes (Keine untergeordnete Prozesse)

No more files (Keine weiteren Dateien)

No space left on device (Kein Speicherplatz auf dem Gerät verfügbar)

No such device (Gerät existiert nicht)

No such device or address (Gerät oder Adresse existiert nicht)

No such file or directory (Datei oder Verzeichnis nicht gefunden)

No such process (Prozess existiert nicht)

Not a directory (Ist kein Verzeichnis)

Not enough memory (Speicher nicht ausreichend)

Not same device (Nicht dasselbe Gerät)

Operation not permitted (Operation nicht zulässig)

Path not found (Ungültiger Dateiname)

Permission denied (Zugriff verweigert)

Possible deadlock (Mögliche Sperre)

Read-only file system (Schreibgeschütztes Dateisystem)

Resource busy (Ressource belegt)

Resource temporarily unavailable (Ressource vorübergehend nicht verfügbar)

Result too large (Ergebnis zu groß)

Too many links (Zu viele Verknüpfungen)

Too many open files (Zu viele Dateien geöffnet)

Beispiel



 #include <stdio.h>
 int main(void)
 {
     FILE *fp;
     fp = fopen("perror.dat", "r");
     if (!fp)
        perror("Unable to open file for reading");
     return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

perror

+

+

+

+

_wperror

+