open(2)
open(2) - Linux manual page
Namn
open - Öppnar eller skapar en fil
Bibliotek
Standard C-biblioteket (libc, -lc)
Synopsis
#include <fcntl.h> #include <sys/stat.h> #include <unistd.h> int open(const char *pathname, int flags, ... /* mode_t mode */ );
Beskrivning
Funktionen open används för att öppna en fil eller skapa en ny fil. Den returnerar en filbeskrivare som kan användas för att läsa, skriva eller utföra andra operationer på filen.
- Parametrar
- pathname: Sökvägen till filen som ska öppnas eller skapas.
- flags: Anger öppningsläget och alternativ (kombineras med bitvis OR). Exempel på flaggor:
- O_RDONLY: Öppna filen för endast läsning. - O_WRONLY: Öppna filen för endast skrivning. - O_RDWR: Öppna filen för både läsning och skrivning. - O_CREAT: Skapa filen om den inte existerar. - O_TRUNC: Truncera filen till 0 byte om den redan existerar och öppnas för skrivning. - O_APPEND: Skrivningar sker alltid i slutet av filen. - O_EXCL: Misslyckas om filen redan existerar (används tillsammans med O_CREAT).
- mode: Om O_CREAT används, specificerar detta filens behörigheter (t.ex. 0644 för läs/skrivbehörighet för ägare och läsbehörighet för andra).
- Returnerar
- Vid framgång: En icke-negativ filbeskrivare.
- Vid fel: -1, och errno(3) sätts för att indikera felet.
Fel
open kan returnera följande felkoder i errno(3):
- EACCES: Behörighet saknas för att öppna filen.
- EEXIST: Filen existerar redan och O_CREAT | O_EXCL användes.
- ENOENT: Filen eller en katalog i sökvägen existerar inte.
- EINVAL: Ogiltiga flaggor angavs.
- EMFILE: Processen har redan öppnat maximalt antal filer.
För en fullständig lista över felkoder, se manualen.
Exempel
#include <fcntl.h> #include <unistd.h> #include <stdio.h> int main() { const char *filename = "example.txt"; int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644); if (fd == -1) { perror("open"); return 1; } write(fd, "Hej, värld!\n", 12); close(fd); return 0; }
Standarder
Funktionen open följer POSIX.1-2001, POSIX.1-2008, och är en del av System V Interface Definition (SVID).
Se även
Kolofon
Denna sida är en översättning av manualen för open(2), hämtad från ⟨https://man7.org/linux/man-pages/man2/open.2.html⟩, en del av Linux manualprojektet. För att rapportera fel eller föreslå förbättringar, besök ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man2/open.2.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.