Bon nombre des différentes fonctions que le langage C fournit pour ouvrir et modifier les fichiers utilisent leur chemin comme un argument d'entrée pour les pointer vers eux. Cependant, il y a des cas où nous n'avons qu'à connaître le nom du fichier et non son chemin complet.
Dans ce Indice de linux Article, vous apprendrez à obtenir le nom de fichier d'un chemin qui est spécifié avec le Basename () fonction. Nous examinerons la syntaxe, les arguments d'entrée et de sortie et les types de données acceptés en détail. Après avoir vu comment Basename () Fonctionne théoriquement, nous appliquerons ce que nous avons appris avec un exemple pratique qui inclut les extraits de code et les images qui montrent le processus étape par étape sur la façon d'utiliser cette fonction dans la langue C.
Syntaxe de la fonction Basename () dans le langage C
Char * Basen Name (Char * Path)
Description de la fonction Basename () dans le langage C
Le Basename () La fonction obtient le nom du dernier composant du chemin d'accès d'un fichier ou d'un dossier au format de chaîne dont le pointeur est «chemin». Cette fonction renvoie le pointeur vers une chaîne qui contient le nom complet du dernier composant du chemin.
Le pointeur vers la chaîne qui spécifie le chemin est du même type que le pointeur que fopen () utilise comme argument d'entrée pour ouvrir les fichiers. Il est pratique d'utiliser ces fonctions ensemble.
Le Basename () La fonction est définie dans le «Libgen.en-tête h ”. Pour l'utiliser, nous devons l'inclure dans notre «.c "ou".Fichier h ”comme suit:
#inclure
Comment obtenir le nom d'un fichier avec la fonction Basename () dans la langue C
Dans cet exemple, nous expliquons le processus étape par étape sur la façon d'obtenir le nom d'un fichier ou le dernier composant d'un chemin donné en utilisant le Basename () fonction.
Tout d'abord, nous devons insérer les en-têtes dans notre «.Fichier C ”qui définit les fonctions que nous utilisons. Dans ce cas, ce sont les «STdio.En-tête h ”pour utiliser la fonction printf () que nous utilisons pour afficher le nom du fichier et son chemin dans la console de commande et le« Libgen.en-tête h ”qui définit le Basename () fonction.
Ensuite, dans la fonction «principale», nous définissons les deux pointeurs requis pour les chaînes que nous utilisons lors de l'appel du Basename () fonction. Le premier est le path_ptr de type char et sert de pointeur vers la chaîne qui contient le chemin spécifié vers le fichier. Ce pointeur est l'argument d'entrée au Basename (). Pour cet exemple, nous ajoutons le chemin absolu «/ Home / Documents / Exemple.C ”qui est le chemin vers le«.Fichier C ”.
Le deuxième pointeur que nous définissons est name_ptr du type de char et sert de pointeur à la chaîne qui est l'argument de sortie que la fonction Basename () utilise pour renvoyer le nom du fichier.
Avec les pointeurs définis et le chemin spécifié, nous appelons la fonction Basename (), passant le path_ptr pointeur comme argument d'entrée et le name_ptr pointeur comme l'argument de sortie comme suit:
name_ptr = basename (path_ptr);
Voici le code complet pour obtenir le nom de fichier ou le dernier composant du chemin qui est spécifié dans path_ptr. À l'aide de la fonction printf (), nous affichons le chemin et le message "Le nom du fichier est:”Dans la console de commande, suivi du nom du fichier obtenu en utilisant la fonction de nom de base.
#inclure
#inclure
vide main ()
char * name_ptr;
char * path_pt r = "/ home / documents / exemple.C ";
name_ptr = basename (path_ptr);
printf ("\ n \ n le chemin du fichier est:% s \ n \ n", path_ptr);
printf ("\ n \ nthe le nom du fichier est:% s \ n \ n", name_ptr);
Pour compiler ce code dans le CCG, nous devons exécuter le «GCC chemin du fichier -o Nom de sortie »Commande.
~ $ DOCUMENTS GCC / EXEMPLE.C -O Exemple
Pour exécuter la sortie, nous devons exécuter le «./ Nom de sortie »Commande.
~ $ ./exemple
Dans la figure suivante, vous pouvez voir le résultat de l'exécution de la compilation qui affiche le chemin d'accès et le nom du fichier dans la console de commande qui est spécifié dans le chemin path_ptr.
Conclusion
Dans ce Indice de linux Article, vous avez appris à utiliser le Basename () fonction pour obtenir le nom du fichier ou le dernier composant d'un chemin donné. Nous avons examiné la théorie de cette fonction, ses arguments d'entrée et de sortie et le type de données que chacun accepte. Ensuite, nous avons examiné un exemple pratique en vous montrant un processus étape par étape sur la façon d'insérer les en-têtes nécessaires, de définir les pointeurs que la fonction utilise comme arguments d'entrée et de sortie, et de récupérer le nom du fichier en appelant le Basename ().
Nous espérons que vous avez trouvé cet article utile. Pour plus d'articles comme celui-ci, utilisez le moteur de recherche sur notre site Web.