Basename -funksjon på C -språk

Basename -funksjon på C -språk
Filadministrasjon er en veldig viktig ressurs og brukes mye i programmering. Vi kan lagre eller disponere informasjon i dem, enten generert av brukeren eller viktige data og parametere for drift av programmet vårt i systemfiler.

Mange av de forskjellige funksjonene som C -språket gir for åpning og redigering av filene bruker veien som et inndata -argument for å peke på dem. Imidlertid er det tilfeller der vi bare trenger å vite navnet på filen og ikke dens fulle vei.

I dette Linux hint Artikkel, vil du lære hvordan du får filnavnet til en bane som er spesifisert med basename () funksjon. Vi vil se på syntaks, inngangs- og utgangsargumenter og de aksepterte datatypene i detalj. Etter å ha sett hvordan basename () Arbeidet teoretisk sett vil vi bruke det vi lærte med et praktisk eksempel som inkluderer kodebiter og bilder som viser trinn-for-trinn-prosessen for hvordan du bruker denne funksjonen på C-språket.

Syntaks for basename () -funksjonen på C -språk

char* basename (char* sti)

Beskrivelse av basename () -funksjonen på C -språk

De basename () Funksjon får navnet på den siste komponenten i banen til en fil eller mappe i strengformat hvis peker er "bane". Denne funksjonen returnerer pekeren til en streng som inneholder hele navnet på den siste komponenten i banen.

Pekeren til strengen som spesifiserer banen er av samme type som pekeren som Fopen () bruker som et inngangsargument for å åpne filene. Det er praktisk å bruke disse funksjonene sammen.

De basename () Funksjonen er definert i “Libgen.h ”header. For å bruke den, må vi inkludere det i ".C ”eller“.H ”-filen som følger:

#inkludere

Hvordan få navnet på en fil med basename () -funksjonen på C -språket

I dette eksemplet forklarer vi trinn-for-trinn-prosessen for hvordan du får navnet på en fil eller den siste komponenten i en gitt bane ved å bruke basename () funksjon.

Først må vi sette inn overskriftene i ".c ”-fil som definerer funksjonene vi bruker. I dette tilfellet er dette “stdio.H ”header for å bruke printf () -funksjonen som vi bruker for å vise navnet på filen og dens bane i kommandokonsollen og“ libgen.H ”header som definerer basename () funksjon.

Deretter, i "hoved" -funksjonen, definerer vi de to pekerne som er nødvendige for strengene som vi bruker når vi ringer basename () funksjon. Den første av dem er PATH_PTR av char -type og fungerer som en peker til strengen som inneholder den spesifiserte banen til filen. Denne pekeren er inngangsargumentet til basename (). For dette eksemplet legger vi til den absolutte banen “/Hjem/dokumenter/eksempel.C ”som er veien til“.c ”-fil.

Den andre pekeren som vi definerer er name_ptr av char -type og fungerer som en peker til strengen som er utgangsargumentet som basename () -funksjonen bruker for å returnere navnet på filen.

Med pekerne definert og den spesifiserte banen, kaller vi basename () -funksjonen og passerer PATH_PTR peker som inngangsargument og NAME_PTR Peker som utgangsargument som følger:

name_ptr = basename (path_ptr);

Følgende er den komplette koden for å få filnavnet eller den siste komponenten av banen som er spesifisert i PATH_PTR. Ved hjelp av printf () -funksjonen viser vi banen og meldingen “Navnet på filen er:”I kommandokonsollen, etterfulgt av navnet på filen som er oppnådd ved hjelp av basename -funksjonen.

#inkludere
#inkludere
tomrom ()

char* name_ptr;
char* path_pt r = "/hjem/dokumenter/eksempel.c ";
name_ptr = basename (path_ptr);
printf ("\ n \ nveien til filen er: %s \ n \ n", path_ptr);
printf ("\ n \ n Navnet på filen er: %s \ n \ n", name_ptr);

For å kompilere denne koden til GCC, må vi kjøre "GCC filsti -o Utgangsnavn ”-kommando.

~ $ GCC -dokumenter/eksempel.c -o eksempel

For å utføre utgangen, må vi kjøre "./ output name ”-kommando.

~ $ ./eksempel

I den følgende figuren kan du se resultatet av kompilasjonsutførelsen som viser banen og navnet på filen i kommandokonsollen som er spesifisert i banen i PATH_PTR.

Konklusjon

I dette Linux hint artikkel, du lærte hvordan du bruker basename () Funksjon for å få navnet på filen eller den siste komponenten i en gitt bane. Vi så på teorien om denne funksjonen, dens innspill og utgangsargumenter og hvilken type data som hver av dem aksepterer. Deretter så vi på et praktisk eksempel ved å vise deg en trinn-for-trinn-prosess for hvordan du kan sette inn de nødvendige overskriftene, definere pekerne som funksjonen bruker som input og output-argumenter, og hente navnet på filen ved å ringe den basename ().

Vi håper at du fant denne artikkelen nyttig. For flere artikler som dette, bruk søkemotoren på nettstedet vårt.