C Programmering

Posix öppen funktion med C-programmering

Posix öppen funktion med C-programmering
Begreppet filhantering används i stor utsträckning på alla programmeringsspråk. Specifikt för C och C ++ hittar du en omfattande litteratur om informationen om filhanteringskonceptet. När du vill komma åt eller ändra en fil i C eller C ++ måste du öppna den först, antingen för läsning eller skrivning. Uppgiften att öppna en fil utförs med hjälp av funktionen Posix Open.

Denna funktion innehåller en uppsättning parametrar som skickas tillsammans med den här funktionen för att öppna en viss 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 informera dig om användningen av Posix Open-funktionen i Linux Mint 20. I den här artikeln lär du dig hur Open-funktionen fungerar med C-programmering.

Parametrar för Posix Open-funktionen

Posix Open-funktionen innehåller två parametrar som är indelade i olika typer. Den första parametern kallas 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 där filen som ska öppnas finns, måste du bara skriva namnet på filen och utelämna dess sökväg. Om filen som ska öppnas finns dock 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 hänvisar till de alternativ som du kan öppna en fil med. Dessa alternativ är skrivskyddade, skrivskyddade, läs och skriv, skapa filer och förhindra filskapande. 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 behov, å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, öppnar den här funktionen helt enkelt. I annat fall skapar funktionen en fil med det angivna namnet. Nu kommer vi att ta en titt på alla steg i genomförandet av detta program, från och med att det skapades.

Steg 1: Skapa provprogram för att testa Posix Open-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 detta dokument öppnar vi det och skriver in koden som visas i bilden nedan i den filen.

I koden som visas i bilden ovan har vi skapat en heltalsvariabel med namnet fd, som hänvisar till filbeskrivaren. Denna variabel tilldelas returvärdet för Open-funktionen. Värdet på den här variabeln kommer att vara “3” om den öppna funktionen körs framgångsrikt. Annars kommer dess värde att vara "-1.”I parametrarna för Open-funktionen har vi angett ett filnamn, dvs.e., "Ny fil.Text.”Den här filen fanns inte i vårt system tidigare, vilket innebär att vår öppna funktion kommer att skapa den här filen.

Vi har också angett via flaggorna i Open-funktionen att om filen redan finns, ska filen öppnas i skrivskyddat läge; medan den inte finns, skapar funktionen Öppna helt enkelt en fil med det angivna namnet. Vi har också specificerat att om värdet på fd variabeln är mindre än noll, då skriver funktionen också ut det fel 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:

$ gcc OpenFunction.c-o OpenFunction

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

Om sammanställningen av vårt exempelprogram 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 vi har sammanställt vårt exempelprogram, kan vi köra det i Linux Mint 20 genom att utfärda följande kommando:

$ ./ OpenFunction

Här hänvisar "OpenFunction" till samma objektfil som skapades efter sammanställningen av vårt exempelprogram.

Du kan se i utgången från vårt exempelprogram i bilden nedan att värdet på vår File Descriptor-variabel, i.e., fd, är “3.”Denna utgång innebär att koden har körts framgångsrikt. Med andra ord en fil med namnet “NewFile.txt ”har skapats framgångsrikt, eftersom filen inte fanns tidigare i vårt system. Om du vill kan du till och med kolla in den 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 tillhandahållna exemplet att vara tillräckligt för att betona vikten av denna funktion. Oavsett orsaken till att du öppnar en fil måste du fortfarande använda den här funktionen för att få tillgång till en fil. Utan denna funktion kommer du inte att kunna komma åt några filer. Därför måste du lära dig användningen av den här funktionen innan du utför filhantering i C och C++.

Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...