Posix öppen funktion med C -programmering

Posix Open Function With C Programming



Begreppet filhantering används flitigt på alla programmeringsspråk. Specifikt för C och C ++ hittar du en omfattande litteratur om information om begreppet filhantering. När du vill komma åt eller ändra en fil i C eller C ++ måste du öppna den först, antingen för att läsa eller skriva. Uppgiften att öppna en fil utförs med hjälp av Posix Open -funktionen.

Denna funktion innehåller en uppsättning parametrar som skickas tillsammans med denna funktion för att öppna en specifik fil. Vi kommer att diskutera dessa parametrar i nästa rubrik i vår artikel. Huvudmålet med den här artikeln är dock att utbilda dig om användningen av Posix Open -funktionen i Linux Mint 20. I den här artikeln kan du lära dig hur Open -funktionen fungerar med C -programmering.







Parametrar för Posix Open -funktionen

Posix Open -funktionen innehåller två parametrar som ytterligare är indelade i olika typer. Den första parametern är känd som Väg , som hänvisar till platsen för filen som du vill öppna. Om du skapar din C -kod för att öppna en fil i samma katalog som filen som ska öppnas finns det bara att skriva namnet på filen och utelämna dess sökväg. Men om filen som ska öppnas finns i någon annan katalog måste du ange dess fullständiga sökväg som en parameter till funktionen Öppna följt av snedstreck (/).



Den andra parametern för Posix Open -funktionen kallas Flagga , som refererar till de alternativ som du kan öppna en fil med. Dessa alternativ är skrivskyddade, skrivskyddade, läs och skriv, skapa filer och förhindrar skapande av filer. Motsvarande flaggor för dessa operationer är O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, och O_EXCL respektive. Du kan antingen använda en av dessa flaggor åt gången eller så kan du kombinera mer än en flagga samtidigt, beroende på dina krav, åtskilda av | symbol. Du kommer att börja förstå dessa flaggor tydligare efter att ha läst exemplet nedan.



Exempel: Använda Posix Open -funktionen i Linux Mint 20

För att ge ett exempel på att använda Posix Open -funktionen med C -programmering i Linux Mint 20 har vi skapat ett program som försöker öppna en fil. Om den filen redan finns öppnas den här funktionen helt enkelt; annars skapar funktionen en fil med det angivna namnet. Nu kommer vi att titta på alla stadier av genomförandet av detta program, med början med dess skapande.





Steg 1: Skapa ett provprogram för att testa Posix öppna funktion

Här har vi skapat ett dokument i hemkatalogen för vårt Linux Mint 20 -system och kallat det OpenFunction.c. Efter att ha skapat det här dokumentet öppnar vi det och skriver koden som visas på bilden nedan i den filen.



I koden som visas i bilden ovan har vi skapat en heltalsvariabel, namngiven fd , som hänvisar till File Descriptor. Denna variabel tilldelas returvärdet för funktionen Öppen. Värdet på denna variabel är 3 om funktionen Öppna körs framgångsrikt. Annars blir dess värde -1. I parametrarna för funktionen Öppen har vi tillhandahållit ett filnamn, dvs NewFile.txt. Den här filen fanns inte i vårt system tidigare, vilket innebär att vår öppna funktion skapar denna fil.

Vi har också angett via flaggorna för funktionen Öppna att om filen redan finns, ska filen öppnas i skrivskyddat läge; medan den inte existerar så skapar Open -funktionen helt enkelt en fil med det angivna namnet. Vi har också specificerat att om värdet på fd variabel är mindre än noll, kommer funktionen också att skriva ut felet som uppstod när den angivna filen öppnades. Slutligen kan du spara din kod genom att trycka på Ctrl + S .

Steg 2: Kompilera provprogram

Efter att ha skrivit provprogrammet startar vi terminalen för att kompilera den med följande kommando:

$gccOpenFunction.c –o OpenFunction

Här hänvisar OpenFunction.c till den exempelprogramfil som vi vill kompilera, medan OpenFunction efter -o -flaggan refererar till objektfilen som kommer att skapas efter kompilering.

Om sammanställningen av vårt provprogram genomförs framgångsrikt kommer vi inte att se några felmeddelanden i terminalen efter att programmet har körts, som visas i bilden nedan:

Steg 3: Kör provprogram

Slutligen, efter att ha sammanställt vårt provprogram, kan vi köra det i Linux Mint 20 genom att utfärda följande kommando:

$./OpenFunction

Här refererar OpenFunction till samma objektfil som skapades efter sammanställningen av vårt provprogram.

Du kan se i utdata från vårt provprogram i bilden nedan att värdet på vår File Descriptor -variabel, dvs. fd , är 3. Denna utmatning innebär att koden har körts framgångsrikt. Med andra ord har en fil med namnet NewFile.txt skapats framgångsrikt eftersom filen inte fanns tidigare i vårt system. Om du vill kan du till och med gå in och kolla in det i din hemkatalog för att verifiera om filen har skapats.

Slutsats

Dagens handledning visade dig hur du använder Posix Open -funktionen med C -programmering i Linux Mint 20. Förhoppningsvis kommer det medföljande exemplet att vara tillräckligt för att betona vikten av denna funktion. Oavsett orsaken till att en fil öppnas måste du fortfarande använda den här funktionen för att få åtkomst till en fil. Utan den här funktionen kommer du inte att kunna komma åt några filer. Därför måste du lära dig hur du använder den här funktionen innan du utför filhantering i C och C ++.