Basename()-funktio C-kielessä

Basename Funktio C Kielessa



Tiedostonhallinta on erittäin tärkeä resurssi ja sitä käytetään laajasti ohjelmoinnissa. Voimme tallentaa tai hävittää niihin joko käyttäjän luomaa tietoa tai ohjelmamme toiminnan kannalta tärkeitä tietoja ja parametreja järjestelmätiedostoissa.

Monet C-kielen tarjoamista eri toiminnoista tiedostojen avaamiseen ja muokkaamiseen käyttävät polkuaan syöttöargumenttina, joka osoittaa ne. On kuitenkin tapauksia, joissa meidän on tiedettävä vain tiedoston nimi, ei sen koko polku.

Tässä Linux-vinkki artikkelista opit, kuinka saat tiedostonimen polulle, joka on määritetty perusnimi() toiminto. Tarkastelemme syntaksia, tulo- ja lähtöargumentteja sekä hyväksyttyjä tietotyyppejä yksityiskohtaisesti. Nähtyään miten perusnimi() toimii teoreettisesti, sovellemme oppimiasi käytännön esimerkillä, joka sisältää koodinpätkät ja kuvat, jotka näyttävät vaiheittaisen prosessin tämän toiminnon käyttämisestä C-kielellä.







Basename()-funktion syntaksi C-kielellä

char * perusnimi ( char * polku )



Kuvaus Basename()-funktiosta C-kielellä

The perusnimi() funktio saa tiedoston tai kansion polun viimeisen komponentin nimen merkkijonomuodossa, jonka osoitin on 'polku'. Tämä funktio palauttaa osoittimen merkkijonoon, joka sisältää polun viimeisen komponentin koko nimen.



Osoitin merkkijonoon, joka määrittää polun, on samaa tyyppiä kuin osoitin, jota fopen() käyttää syöttöargumenttina tiedostojen avaamiseen. Näitä toimintoja on kätevä käyttää yhdessä.





The perusnimi() funktio on määritelty 'libgen.h'-otsikossa. Käyttääksemme sitä meidän on sisällytettävä se '.c'- tai '.h'-tiedostoomme seuraavasti:

# sisältää < libgen.h >

Kuinka saada tiedoston nimi Basename()-funktiolla C-kielellä

Tässä esimerkissä selitämme vaiheittaisen prosessin, kuinka saada tiedoston nimi tai tietyn polun viimeinen komponentti käyttämällä perusnimi() toiminto.



Ensin meidän on lisättävä '.c'-tiedostoomme otsikot, jotka määrittelevät käyttämämme toiminnot. Tässä tapauksessa nämä ovat 'stdio.h'-otsikko, joka käyttää printf()-funktiota, jota käytämme näyttämään tiedoston nimen ja polun komentokonsolissa sekä 'libgen.h'-otsikkoa, joka määrittää perusnimi() toiminto.

Sitten 'main'-funktiossa määrittelemme kaksi osoitinta, jotka vaaditaan merkkijonoille, joita käytämme kutsuttaessa perusnimi() toiminto. Ensimmäinen niistä on polku_Ptr char-tyyppinen ja toimii osoittimena merkkijonoon, joka sisältää määritetyn polun tiedostoon. Tämä osoitin on syöteargumentti perusnimi() . Tässä esimerkissä lisäämme absoluuttisen polun '/home/documents/example.c', joka on polku '.c'-tiedostoon.

Toinen määrittämämme osoitin on char-tyyppinen nimi_Ptr, ja se toimii osoittimena merkkijonoon, joka on lähtöargumentti, jota basename()-funktio käyttää palauttamaan tiedoston nimen.

Kun osoittimet on määritetty ja polku määritetty, kutsumme basename()-funktiota ohittaen polku_Ptr osoitin syöttöargumenttina ja nimi_Ptr osoitin lähtöargumentiksi seuraavasti:

nimi_Ptr = perusnimi ( polku_Ptr ) ;

Seuraava on täydellinen koodi, jolla saadaan tiedostonimi tai polun viimeinen komponentti, joka määritetään polku_Ptr . Käytä printf()-funktiota, näytämme polun ja viestin ' Tiedoston nimi on: ” komentokonsolissa ja sen jälkeen tiedoston nimi, joka saadaan perusnimi-funktiolla.

#include
#include

tyhjä pää ( )
{

hiiltyä * nimi_Ptr;
hiiltyä * polku_Pt r = '/home/Documents/example.c' ;
nimi_Ptr = perusnimi ( polku_Ptr ) ;
printf ( ' \n \n Tiedoston polku on: %s \n \n ' , polku_Ptr ) ;
printf ( ' \n \n Tiedoston nimi on: %s \n \n ' , nimi_Ptr ) ;

}

Kääntääksemme tämän koodin gcc:ksi, meidän on suoritettava ' gcc tiedostopolku -O lähtönimi' -komento.

~$ gcc Asiakirjat / esimerkki.c -O esimerkki

Suorittaaksemme tulosteen meidän on suoritettava './ output name' -komento.

~$ . / esimerkki

Seuraavassa kuvassa näet käännössuorituksen tuloksen, joka näyttää polun ja tiedoston nimen komentokonsolissa, joka on määritetty polussa polku_Ptr .

Johtopäätös

Tässä Linux-vinkki artikkelissa opit käyttämään perusnimi() funktio saada tiedoston nimi tai tietyn polun viimeinen komponentti. Tarkastelimme tämän funktion teoriaa, sen syöttö- ja lähtöargumentteja sekä datatyyppiä, jonka kukin niistä hyväksyy. Tämän jälkeen tarkastelimme käytännön esimerkkiä näyttämällä sinulle vaiheittaisen prosessin, kuinka voit lisätä tarvittavat otsikot, määrittää osoittimet, joita toiminto käyttää syöttö- ja lähtöargumenteina, ja hakea tiedoston nimen kutsumalla perusnimi() .

Toivomme, että tämä artikkeli oli sinulle hyödyllinen. Jos haluat lisää tämänkaltaisia ​​artikkeleita, käytä verkkosivustomme hakukonetta.