Basename () Functie in C-taal

Basename Functie In C Taal



Bestandsbeheer is een zeer belangrijke hulpbron en wordt veel gebruikt bij het programmeren. We kunnen er informatie in opslaan of verwijderen, hetzij gegenereerd door de gebruiker, hetzij belangrijke gegevens en parameters voor de werking van ons programma in systeembestanden.

Veel van de verschillende functies die de C-taal biedt voor het openen en bewerken van de bestanden, gebruiken hun pad als invoerargument om ernaar te verwijzen. Er zijn echter gevallen waarin we alleen de naam van het bestand hoeven te weten en niet het volledige pad.

In deze Linux-tip artikel, leert u hoe u de bestandsnaam kunt krijgen van een pad dat is opgegeven met de basisnaam() functie. We zullen de syntaxis, de invoer- en uitvoerargumenten en de geaccepteerde gegevenstypen in detail bekijken. Na te hebben gezien hoe basisnaam() theoretisch werkt, zullen we toepassen wat we hebben geleerd met een praktisch voorbeeld dat de codefragmenten en afbeeldingen bevat die het stapsgewijze proces tonen voor het gebruik van deze functie in de C-taal.







Syntaxis van de functie Basename() in C-taal

char * basisnaam (char * pad)



Beschrijving van de functie Basename() in C-taal

De basisnaam() functie krijgt de naam van het laatste onderdeel van het pad van een bestand of map in tekenreeksindeling waarvan de aanwijzer 'pad' is. Deze functie retourneert de aanwijzer naar een tekenreeks die de volledige naam van de laatste component in het pad bevat.



De pointer naar de string die het pad specificeert is van hetzelfde type als de pointer die fopen() gebruikt als invoerargument om de bestanden te openen. Het is handig om deze functies samen te gebruiken.





De basisnaam() functie is gedefinieerd in de kop 'libgen.h'. Om het te gebruiken, moeten we het als volgt opnemen in ons '.c'- of '.h'-bestand:

# erbij betrekken < libgen.h >

Hoe de naam van een bestand te krijgen met de functie Basename () in de C-taal

In dit voorbeeld leggen we het stapsgewijze proces uit voor het verkrijgen van de naam van een bestand of het laatste onderdeel van een bepaald pad met behulp van de basisnaam() functie.



Eerst moeten we de headers in ons '.c' -bestand invoegen die de functies definiëren die we gebruiken. In dit geval zijn dit de 'stdio.h'-header om de printf()-functie te gebruiken die we gebruiken om de naam van het bestand en het pad weer te geven in de opdrachtconsole en de 'libgen.h'-header die de basisnaam() functie.

Vervolgens definiëren we in de functie 'main' de twee pointers die vereist zijn voor de strings die we gebruiken bij het aanroepen van de basisnaam() functie. De eerste daarvan is de pad_Ptr van char-type en dient als een verwijzing naar de tekenreeks die het opgegeven pad naar het bestand bevat. Deze aanwijzer is het invoerargument voor het basisnaam() . Voor dit voorbeeld voegen we het absolute pad '/home/documents/example.c' toe, wat het pad is naar het '.c'-bestand.

De tweede pointer die we definiëren is name_Ptr van het type char en dient als een pointer naar de tekenreeks die het uitvoerargument is dat de functie basename() gebruikt om de naam van het bestand te retourneren.

Met de pointers gedefinieerd en het pad gespecificeerd, noemen we de basename() functie, waarbij we de pad_Ptr pointer als invoerargument en de naam_Ptr pointer als uitvoerargument als volgt:

naam_Ptr = basisnaam ( pad_Ptr ) ;

Het volgende is de volledige code om de bestandsnaam of het laatste onderdeel van het pad dat is opgegeven in te krijgen pad_Ptr . Met behulp van de functie printf() geven we het pad en het bericht ' De naam van het bestand is: ” in de opdrachtconsole, gevolgd door de naam van het bestand dat is verkregen met de basename-functie.

#include
#include

nietig hoofd ( )
{

char * naam_Ptr;
char * pad_Pt r = '/home/Documenten/voorbeeld.c' ;
naam_Ptr = basisnaam ( pad_Ptr ) ;
printf ( ' \n \n Het pad van het bestand is: %s \n \n ' , pad_Ptr ) ;
printf ( ' \n \n De naam van het bestand is: %s \n \n ' , naam_Ptr ) ;

}

Om deze code in de gcc te compileren, moeten we de ' gcc bestandspad -O uitvoer naam” commando.

~$ gcc Documenten / voorbeeld.c -O voorbeeld

Om de uitvoer uit te voeren, moeten we de opdracht './ uitvoernaam' uitvoeren.

~$ . / voorbeeld

In de volgende afbeelding ziet u het resultaat van de uitvoering van de compilatie die het pad en de naam van het bestand weergeeft in de opdrachtconsole die is opgegeven in het pad in pad_Ptr .

Conclusie

In deze Linux-tip artikel, heb je geleerd hoe je de basisnaam() functie om de naam van het bestand of het laatste onderdeel van een bepaald pad te krijgen. We hebben gekeken naar de theorie van deze functie, de invoer- en uitvoerargumenten en het type gegevens dat elk van hen accepteert. Vervolgens hebben we een praktisch voorbeeld bekeken door u een stapsgewijs proces te laten zien voor het invoegen van de benodigde headers, het definiëren van de pointers die de functie gebruikt als invoer- en uitvoerargumenten en het ophalen van de naam van het bestand door de basisnaam() .

We hopen dat je dit artikel nuttig vond. Gebruik voor meer van dit soort artikelen de zoekmachine op onze website.