Åpne 2 C -funksjon

Åpne 2 C -funksjon
Du har kanskje prøvd mange typer C -funksjoner mens du utfører C -kodene i Linux -plattformen. Disse funksjonene kan gjøre noen input- og utgangsoperasjoner som de fleste funksjoner vanligvis gjør. En av disse 2 C -funksjonene er Open () -funksjonen. Åpne () -funksjonen i C -programmeringsspråket åpner en fil i den spesifiserte banen eller katalogen. Hvis den spesifiserte filen som er angitt i koden ikke eksisterer på det spesifikke stedet, kan denne funksjonen kaste et unntak eller kan opprette den på det spesifiserte stedet/banen hvis visse flagg blir bestått. Vi kan konkludere med at den åpne funksjonen er verdifull likt for lesing og skriving. Så vi dekker bruken av Open 2 C -funksjonen i Ubuntu 20.04 Plattform sammen med noen eksempler.

Syntaks
Syntaksen til den åpne () -funksjonen på C -språket er gitt nedenfor. La oss diskutere parametrene:

int åpen (const char* sti, int flagg [, int -modus]);

Sti

Banen er tittelen på filen du vil åpne eller opprette. Det refererer også til filens beliggenhet. Hvis vi ikke jobber i samme katalog som filen, kan vi gi en absolutt vei som begynner med "/". Vi kan alternativt spesifisere en relativ bane der vi i noen tilfeller bare nevner filnavnet og utvidelsen.

Flagg

For å bruke flaggene, her er listen med deres respektive forklaringer:

  • O_rdonly: Åpne filen i skrivebeskyttet modus.
  • O_wronly: Åpne filen i en skrivebolig, åpne filen
  • O_rdwr: Åpne filen i lesing og skrivemodus
  • O_Creat: Dette flagget brukes for å opprette en fil hvis det ikke eksisterer i den angitte banen eller katalogen
  • O_EXCL: Forhindrer filopprettelsen hvis den allerede eksisterer i katalogen eller stedet.

Her står O for åpen funksjon.

Headerfil/bibliotek

Følgende bibliotek eller overskriftsfil brukes i koden for denne funksjonsbruken.

#inkludere

For å opprette eller åpne en fil i den bestemte katalogen eller banen, bruk VIM -redigereren. “Openfile.C ”er navnet på filen som vi opprettet. Når vi skriver denne kommandoen, åpner redigereren filen i redigeringsmodus, og lar oss skrive kodelinjene i filen. For å lukke VIM -redigereren og lagre filen, trykk på Escape -tasten, skriv inn en kolon (:) og X, og trykk deretter Enter -tasten.

Følgende kodelinjer skrives inn i “openfile.c ”-fil. Vi bruker en relativ sti for å åpne “testopen.txt ”-fil i følgende kode. O_RDONLY (bare leste) og O_Creat -flaggene ble passert (opprette “Testopen.txt ”-filen hvis den ikke eksisterer i den gjeldende katalogen).

Printf -funksjonen brukes nå til å vise returverdien i filbeskrivelsen. Vi bekrefter da om filbeskrivelsen er lik -1, noe som indikerer at den åpne filen mislyktes og skriver ut feilen.

Vi bruker GCC -kompilatoren for å sette sammen filen. Hvis du ikke har GCC C-Compiler installert, kjører du følgende kommandoer for å få det. Bare utfør den påfølgende instruksjonen i terminalen for å se GCC-kompilatorversjonen på Linux-Ubuntu-systemet:

sudo apt oppdatering
sudo apt install build-essensial

Skriv inn følgende kommando for å kompilere “openfile.C ”i GCC -kompilatoren. Følgende kommando inkluderer GCC -kompilatoren. Deretter spesifiser filen som vi ønsker å kompilere sammen med utvidelsen og -o -flagget (brukt til å sende ut filen til en bestemt objektfil som er spesifisert rett etter dette flagget):

GCC OpenFile.C -o OpenFile.ute

Alternativt kan vi kjøre kommandoen før -o -flagget, som produserer en “a.ut ”objektfil i den gjeldende katalogen som standard som standard. Ved hjelp av listekatalogkommandoen, sjekk utdata- eller objektfilen, i.e. åpen fil.ute.

Skriv inn følgende kommando for å utføre eller kjøre utdata- eller objektfilen, som viser filbeskrivelsen lik 3. Det indikerer at den medfølgende filen (testopen.txt) er til stede i katalogen som inneholder utdatafilen.

Åpne C -filen med VIM -redigereren en gang til, men denne gangen, endre filnavnet (OpenFile1.txt) i den åpne funksjonen. Så, lagre og lukk “openfile.c ”-fil.

En annen endring i den åpne kommandoen er å passere O_rdonly -flagget som åpner “OpenFile1.txt ”i skrivebeskyttet modus. Det betyr at vi bare kan lese dataene til filen. Vi kan ikke utføre skrive- eller oppdateringsfunksjonen i den spesifiserte filen.

Sett sammen filen igjen for å oppdatere utdatafilen. Etter det, kjør koden ved hjelp av objektfilen. Siden vi ikke har den spesifiserte tekstfilen i den gjeldende katalogen, har bruken av Open () -funksjonen kastet en feil og returnerer en -1 som er lagret i den arkiverte variabelen til heltallstypen. Følgende skjermbilde viser utgangen fra OpenFile. Hvis utgangsfilen ikke er spesifisert, skriver du bare "./en.ut ”i terminalen for å se filens utdata.

Vi åpnet “openfile.C ”-filen i VIM -redigereren igjen og brukte O_EXCL -flagget i Open -kommandoen. Det innebærer at hvis den spesifiserte filen ikke eksisterer i katalogen, ikke oppretter den; Hvis det gjør det, bare åpne den. Fordi det ikke er "openfile1.txt ”-filen I listekatalogen returnerer den åpne metoden en feil.

Følgende skjermbilde viser at vi ikke har den gitte filen i banen, og den åpne funksjonen returnerer -1. Dette indikerer at ingen slik fil eller katalog eksisterer. Hvis kommandoen for utdatafilen er skrevet feil, returnerer den den generiske feilen - “Ingen slik fil eller katalog”.

Konklusjon

Denne artikkelen handler om bruken av Open 2 C -funksjonen i Kali Linux -systemet. Ved hjelp av dette systemanropet diskuterte vi hvordan den kan brukes til å åpne og lese filen og dens innhold enkelt. Vi diskuterte hvordan den kaster en feil når filbeskrivelsen ikke finner den nødvendige filen.