errno(3)
errno(3) - Linux manual page
Namn
errno - Global variabel som anger felkoder vid systemanrop och bibliotekskall
Synopsis
#include <errno.h>
Beskrivning
errno är en global variabel som används av många systemanrop och bibliotekskall i C-programmering för att indikera vilket fel som inträffade. Dess värde ändras endast när ett fel inträffar; framgångsrika anrop lämnar värdet oförändrat.
Varje fel representeras av ett unikt heltal, som kan översättas till ett läsbart meddelande med hjälp av funktionerna strerror(3) eller perror(3).
Värdet av errno är endast meningsfullt direkt efter att ett systemanrop eller en funktion misslyckats. Det kan inte användas för att indikera ett fel i sig, utan måste tolkas i samband med returnerade värden från anropet (exempelvis -1 eller NULL).
Felkoder
De symboliska konstanterna för felnummer definieras i filen <errno.h>. Exempel på vanliga fel är:
- EACCES: Åtkomst nekad.
- EBADF: Ogiltig filbeskrivare.
- EEXIST: Filen finns redan.
- ENOMEM: Otillräckligt minne.
Se manualsidans avsnitt om felkoder för en komplett lista över fel.
Exempel
#include <stdio.h> #include <errno.h> #include <string.h> int main() { FILE *file = fopen("nonexistent.txt", "r"); if (file == NULL) { printf("Fel: %s\n", strerror(errno)); return 1; } fclose(file); return 0; }
Ovanstående program försöker öppna en fil som inte existerar. När fopen(3) misslyckas sätts errno till en felkod (t.ex. ENOENT) som sedan översätts till ett läsbart felmeddelande med strerror(3).
Se även
Kolofon
Denna sida är en översättning av Linux manualens errno(3) från ⟨https://man7.org/linux/man-pages/man3/errno.3.html⟩ och är del av manualsidornas projekt. Felrapporter och uppdateringar kan skickas till ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man3/errno.3.html
PHP
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till PC Service som har sponsrat Linux.se med webbhotell.