DIR -datatypen brukes til å uttrykke en katalogstrøm, selv om den ikke skal tildeles av brukeren. Vi ser på hvordan denne metoden brukes i noen C -koder i denne artikkelen.
Eksempel 01:
Ved hjelp av VIM -redaktøren produserte vi “OpenDirfile.c ”-fil. Du kan velge hvilken som helst redaktør, inkludert Nano. Når filen åpnes i VIM -redigereren, skriver du inn koden som vises i følgende skjermbilde. Gjeldende katalog som er forkortet som prikken (.) åpnes og lukkes i følgende kode:
Utgangen fra den forrige koden er:
Funksjonene for å lese og manipulere kataloger/mapper er tilgjengelige på C -språket. Det lar programmene dine håndtere filene og utføre andre filrelaterte operasjoner.
Eksempel 02:
Nå skriver vi den avanserte koden for å forstå det komplette konseptet og lære å utføre og kompilere den. Toppfilene er inkludert i de to første linjene. Etter det kalles hovedfunksjonssignaturen. Du kan se at vi mottok katalognavnet fra hovedfunksjonens kommandolinjeinnganger og gitt det til OpenDir -funksjonen. Innenfor hovedblokkfunksjonen er den første linjen en direkte struktur, som egentlig er en representasjon av katalogsystemet. Den kan inneholde filens serienummer så vel som navnene på mappene som finnes i den medfølgende banen.
Vi definerte en variabel pekertype kalt PDIR i den andre linjen i koden. Etter det er det en betinget uttalelse som for det meste brukes til å sjekke om kommandolinjen inneholder riktig mengde argumenter. Hvis verdiene som leveres er ugyldige, skriver du ut meldingen og avslutter funksjonen uten å utføre følgende kode. Hvis inngangen er riktig, må du lagre den i PDIR -variabelen og bekrefte at den ikke er null. Hvis det er null, betyr det at det ikke er noen katalog eller banen er feil eller ulovlig.
I så fall blir returerklæringen utført og kompilatoren avslutter utførelsen av linjene i koden under den. Hvis PDIR -parameteren ikke er null, indikerer det at katalognavnet som er gitt av brukeren er legitim og riktig og at katalogen eksisterer, som kan inkludere filene og mappene. Readdir -funksjonen brukes i Mens Loop i følgende kodelinjer for å vise navnene på filer og mapper som finnes i denne katalogen. På slutten av linjen lukker vi PDIR -variabelen. For å få en omfattende liste over filene du genererte i arbeidskatalogen, bruker du “LS” -kommandoen. Se følgende skjermbilde for mer informasjon:
Etter det, bruk GCC -kompilatoren til å kompilere C -filen. Hvis systemet ditt ikke har en GCC -kompilator, bruk følgende kommando til å installere kompilatoren på operativsystemet eller virtuell maskin:
$ sudo apt oppdatering
$ sudo apt install build-essensial
Du kan sjekke om du allerede har installert det på operativsystemet eller virtuell maskin ved å utføre følgende kommando:
GCC -Versjon
Nå har du alt du trenger for å samle og kjøre/utføre C -koden. For å begynne, bruk kommandoen gitt på bildet for å bygge koden. Etter det skriver du "GCC" og navnet på filen du vil samle eller produsere et objekt- eller utgangsfil for. Hvis du ikke spesifiserer de gjenværende argumentene i kommandolinjen, vil utgangen bli generert og lagret i en "a.ut ”-filen.
Imidlertid, hvis du vil navngi utdatafilen din hva du vil, skriver du "-o". Skriv deretter navnet på utgangsfilen etterfulgt av ".ut ”utvidelse.
Før du går videre, er noen flere ting du må vite at i Macintosh og senere Windows brukes begrepet "mappe". Det pleide å være en katalog, en liste over filer som er lagret på lagringsmediet. For å utføre filen, bare bruk følgende kommando som inkluderer "./OUTPUT -filnavn.ute". Som du kan se, hvis vi utfører outputfilen uten noen kommandolinje -argumenter som en katalogsti, får vi en feil med å si at inngangen er ugyldig.
Når vi utfører utdatafilen, oppgir vi katalognavnet på følgende skjermbilde. Du kan se listen over filer og mapper som finnes i Works -katalogen etter å ha trykket på Enter -tasten.
Et annet alternativ for å oppgi katalognavnet er å skrive hele katalogstien eller bare den delen av banen der vi nå befinner seg. I det følgende eksemplet leverer vi “Works/Works” som inkluderer vårt nåværende arbeid etterfulgt av verk, og deretter inne i arbeidsmappen.
Som du kan se i følgende eksempel, spesifiserte vi et katalog- eller mappenavn som ikke eksisterer i den gjeldende katalogen der utdatafilen vår er lokalisert. Hvis PDIR returnerer null, viser vi eller rapporterer en feil som indikerer at katalogen ikke kan åpnes.
Konklusjon
Denne artikkelen handler om bruk av OpenDir () -funksjonen til C i Kali Linux med demonstrasjonen av dens arbeidsprosess. Vi diskuterte de enkle, men effektive eksemplene på C for å oppnå de nødvendige resultatene. De andre POSIX -funksjonene brukes til sidehjelp i kodene.