Basename() Function sa C Language

Basename Function Sa C Language



Ang pamamahala ng file ay isang napakahalagang mapagkukunan at malawakang ginagamit sa programming. Maaari kaming mag-imbak o magtapon ng impormasyon sa mga ito, maaaring nabuo ng user o mahalagang data at mga parameter para sa pagpapatakbo ng aming programa sa mga file ng system.

Marami sa iba't ibang mga function na ibinibigay ng wikang C para sa pagbubukas at pag-edit ng mga file ay gumagamit ng kanilang landas bilang isang input argument upang ituro ang mga ito. Gayunpaman, may mga kaso kung saan kailangan lang nating malaman ang pangalan ng file at hindi ang buong path nito.

Dito sa Hint sa Linux artikulo, matututunan mo kung paano makuha ang filename ng isang path na tinukoy kasama ng basename() function. Titingnan natin ang syntax, ang input at output na mga argumento, at ang mga tinatanggap na uri ng data nang detalyado. Matapos makita kung paano basename() gumagana ayon sa teorya, ilalapat namin ang aming natutunan sa isang praktikal na halimbawa na kinabibilangan ng mga snippet ng code at mga larawan na nagpapakita ng hakbang-hakbang na proseso kung paano gamitin ang function na ito sa wikang C.







Syntax ng Basename() Function sa C language

char * basename ( char * path )



Paglalarawan ng Basename() Function sa C language

Ang basename() Nakukuha ng function ang pangalan ng huling bahagi ng path ng isang file o folder sa string format na ang pointer ay 'path'. Ibinabalik ng function na ito ang pointer sa isang string na naglalaman ng buong pangalan ng huling bahagi sa path.



Ang pointer sa string na tumutukoy sa path ay kapareho ng uri ng pointer na ginagamit ng fopen() bilang input argument upang buksan ang mga file. Maginhawang gamitin ang mga function na ito nang magkasama.





Ang basename() ang function ay tinukoy sa 'libgen.h' na header. Upang magamit ito, kailangan naming isama ito sa aming '.c' o '.h' na file tulad ng sumusunod:

# isama < libgen.h >

Paano Kunin ang Pangalan ng File na may Basename() Function sa C Language

Sa halimbawang ito, ipinapaliwanag namin ang sunud-sunod na proseso sa kung paano makuha ang pangalan ng isang file o ang huling bahagi ng isang ibinigay na landas gamit ang basename() function.



Una, kailangan naming ipasok ang mga header sa aming '.c' na file na tumutukoy sa mga function na ginagamit namin. Sa kasong ito, ito ang header na 'stdio.h' upang magamit ang function na printf() na ginagamit namin upang ipakita ang pangalan ng file at ang path nito sa command console at ang header na 'libgen.h' na tumutukoy sa basename() function.

Pagkatapos, sa 'pangunahing' function, tinukoy namin ang dalawang pointer na kinakailangan para sa mga string na ginagamit namin kapag tumatawag sa basename() function. Ang una sa kanila ay ang landas_Ptr ng uri ng char at nagsisilbing pointer sa string na naglalaman ng tinukoy na path sa file. Ang pointer na ito ay ang input argument sa basename() . Para sa halimbawang ito, idinaragdag namin ang absolute path na '/home/documents/example.c' na siyang path sa '.c' na file.

Ang pangalawang pointer na aming tinukoy ay name_Ptr ng uri ng char at nagsisilbing pointer sa string na ang output argument na ginagamit ng basename() function upang ibalik ang pangalan ng file.

Sa tinukoy na mga pointer at tinukoy ang landas, tinatawag namin ang basename() function, na ipinapasa ang landas_Ptr pointer bilang input argument at ang pangalan_Ptr pointer bilang output argument tulad ng sumusunod:

pangalan_Ptr = basename ( landas_Ptr ) ;

Ang sumusunod ay ang kumpletong code upang makuha ang filename o ang huling bahagi ng path na tinukoy sa landas_Ptr . Gamit ang printf() function, ipinapakita namin ang path at ang mensaheng “ Ang pangalan ng file ay: ” sa command console, na sinusundan ng pangalan ng file na nakuha gamit ang basename function.

#include
#include

walang laman ang pangunahing ( )
{

char * pangalan_Ptr;
char * landas_Pt r = '/home/Documents/example.c' ;
pangalan_Ptr = basename ( landas_Ptr ) ;
printf ( ' \n \n Ang landas ng file ay: %s \n \n ' , path_Ptr ) ;
printf ( ' \n \n Ang pangalan ng file ay: %s \n \n ' , pangalan_Ptr ) ;

}

Upang i-compile ang code na ito sa gcc, kailangan nating patakbuhin ang ' gcc landas ng file -O pangalan ng output' na utos.

~$ gcc Mga dokumento / halimbawa.c -O halimbawa

Upang maisagawa ang output, dapat nating patakbuhin ang command na './ output name'.

~$ . / halimbawa

Sa sumusunod na figure, makikita mo ang resulta ng compilation execution na nagpapakita ng path at ang pangalan ng file sa command console na tinukoy sa path sa landas_Ptr .

Konklusyon

Dito sa Hint sa Linux artikulo, natutunan mo kung paano gamitin ang basename() function upang makuha ang pangalan ng file o ang huling bahagi ng isang ibinigay na landas. Tiningnan namin ang teorya ng function na ito, ang input at output argument nito, at ang uri ng data na tinatanggap ng bawat isa sa kanila. Pagkatapos, tumingin kami sa isang praktikal na halimbawa sa pamamagitan ng pagpapakita sa iyo ng hakbang-hakbang na proseso kung paano ipasok ang mga kinakailangang header, tukuyin ang mga pointer na ginagamit ng function bilang input at output argument, at kunin ang pangalan ng file sa pamamagitan ng pagtawag sa basename() .

Umaasa kami na nakita mong kapaki-pakinabang ang artikulong ito. Para sa higit pang mga artikulo tulad nito, gamitin ang search engine sa aming website.