Paljud erinevatest funktsioonidest, mida C-keel failide avamiseks ja redigeerimiseks pakub, kasutavad neile osutamiseks oma teed sisendargumendina. Siiski on juhtumeid, kus peame teadma ainult faili nime, mitte selle täielikku teed.
Selles Linuxi vihje artiklist saate teada, kuidas saada failinime teele, mis on määratud põhinimi() funktsiooni. Vaatame üksikasjalikult süntaksit, sisend- ja väljundargumente ning aktsepteeritud andmetüüpe. Pärast seda, kui nägin, kuidas põhinimi() töötab teoreetiliselt, rakendame õpitut praktilise näitega, mis sisaldab koodijuppe ja pilte, mis näitavad samm-sammult selle funktsiooni kasutamist C-keeles.
Funktsiooni Basename() süntaks C-keeles
char * põhinimi ( char * tee )
Funktsiooni Basename() kirjeldus C-keeles
The põhinimi() funktsioon saab stringivormingus faili või kausta tee viimase komponendi nime, mille kursor on 'tee'. See funktsioon tagastab kursori stringile, mis sisaldab tee viimase komponendi täisnime.
Tee määrava stringi kursor on sama tüüpi kui kursor, mida fopen() kasutab failide avamiseks sisendargumendina. Neid funktsioone on mugav koos kasutada.
The põhinimi() funktsioon on määratletud päises 'libgen.h'. Selle kasutamiseks peame lisama selle oma '.c' või '.h' faili järgmiselt:
# sisaldama < libgen.h >Kuidas saada faili nimi C-keele funktsiooni Basename() abil
Selles näites selgitame samm-sammult protsessi, kuidas saada faili nimi või antud tee viimane komponent, kasutades põhinimi() funktsiooni.
Esiteks peame oma .c-faili sisestama päised, mis määravad kasutatavad funktsioonid. Sel juhul on need päis 'stdio.h', et kasutada funktsiooni printf(), mida kasutame faili nime ja selle tee kuvamiseks käsukonsoolis ning päis 'libgen.h', mis määrab põhinimi() funktsiooni.
Seejärel määratleme funktsioonis 'peamine' kaks osutit, mis on vajalikud stringide jaoks, mida kasutame põhinimi() funktsiooni. Esimene neist on tee_Ptr char tüüpi ja osutab stringile, mis sisaldab faili määratud teed. See osuti on sisendargumendiks põhinimi() . Selle näite jaoks lisame absoluutse tee „/home/documents/example.c”, mis on tee faili „.c” juurde.
Teine meie defineeritud osuti on char tüüpi nimi_Ptr ja see osutab stringile, mis on väljundargument, mida funktsioon basename() kasutab faili nime tagastamiseks.
Kui osutid on määratletud ja tee on määratud, kutsume välja funktsiooni basename(), edastades tee_Ptr kursor sisendargumendina ja nimi_Ptr kursor väljundargumendina järgmiselt:
nimi_Ptr = baasnimi ( tee_Ptr ) ;Järgmine on täielik kood failinime saamiseks või määratud tee viimase komponendi saamiseks tee_Ptr . Funktsiooni printf() abil kuvame tee ja teate ' Faili nimi on: ” käsukonsoolis, millele järgneb funktsiooni basename abil saadud faili nimi.
#include#include
tühi põhi ( )
{
char * nimi_Ptr;
char * tee_Pt r = '/home/Documents/example.c' ;
nimi_Ptr = baasnimi ( tee_Ptr ) ;
printf ( ' \n \n Faili tee on: %s \n \n ' , tee_Ptr ) ;
printf ( ' \n \n Faili nimi on: %s \n \n ' , nimi_Ptr ) ;
}
Selle koodi kompileerimiseks gcc-sse peame käivitama ' gcc faili teekond -O väljundi nimi” käsk.
~$ gcc Dokumendid / näide.c -O näideVäljundi käivitamiseks peame käivitama käsu “./ output name”.
~$ . / näideJärgmisel joonisel näete kompileerimise tulemust, mis kuvab käsukonsoolis faili asukoha ja nime, mis on määratud asukohas tee_Ptr .
Järeldus
Selles Linuxi vihje artiklist õppisite, kuidas kasutada põhinimi() funktsioon faili nime või antud tee viimase komponendi hankimiseks. Vaatasime selle funktsiooni teooriat, selle sisend- ja väljundargumente ning andmete tüüpi, mida igaüks neist aktsepteerib. Seejärel vaatlesime praktilist näidet, näidates teile samm-sammult, kuidas sisestada vajalikud päised, määratleda osutid, mida funktsioon kasutab sisend- ja väljundargumentidena ning leida faili nimi, helistades põhinimi() .
Loodame, et see artikkel oli teile kasulik. Rohkemate selliste artiklite vaatamiseks kasutage meie veebisaidi otsingumootorit.