Muchas de las diversas funciones que proporciona el idioma C para abrir y editar los archivos usan su ruta como argumento de entrada para señalarles. Sin embargo, hay casos en los que solo necesitamos saber el nombre del archivo y no su ruta completa.
En esto Pista de Linux Artículo, aprenderá cómo obtener el nombre de archivo de una ruta que se especifica con el Basename () función. Observaremos la sintaxis, los argumentos de entrada y salida, y los tipos de datos aceptados en detalle. Después de ver cómo Basename () Funciona teóricamente, aplicaremos lo que aprendimos con un ejemplo práctico que incluye los fragmentos de código y las imágenes que muestran el proceso paso a paso sobre cómo usar esta función en el idioma C.
Sintaxis de la función Basename () en lenguaje C
Char* Basename (Char* ruta)
Descripción de la función Basename () en el lenguaje C
El Basename () La función obtiene el nombre del último componente de la ruta de un archivo o carpeta en formato de cadena cuyo puntero es "ruta". Esta función devuelve el puntero a una cadena que contiene el nombre completo del último componente en la ruta.
El puntero a la cadena que especifica la ruta es del mismo tipo que el puntero que Fopen () usa como argumento de entrada para abrir los archivos. Es conveniente usar estas funciones juntas.
El Basename () la función se define en el "libgen.encabezado. Para usarlo, necesitamos incluirlo en nuestro ".C "o".archivo h "de la siguiente manera:
#incluir
Cómo obtener el nombre de un archivo con la función BaseName () en el idioma C
En este ejemplo, explicamos el proceso paso a paso sobre cómo obtener el nombre de un archivo o el último componente de una ruta determinada utilizando el Basename () función.
Primero, necesitamos insertar los encabezados en nuestro ".archivo c "que definen las funciones que usamos. En este caso, estos son el "stdio.h "encabezado para usar la función printf () que usamos para mostrar el nombre del archivo y su ruta en la consola de comando y el" libgen.H "encabezado que define el Basename () función.
Luego, en la función "principal", definimos los dos punteros que se requieren para las cadenas que usamos al llamar al Basename () función. El primero de ellos es el Path_ptr del tipo de char y sirve como un puntero a la cadena que contiene la ruta especificada al archivo. Este puntero es el argumento de entrada al Basename (). Para este ejemplo, agregamos la ruta absoluta “/home/documentos/ejemplo.c "que es el camino hacia el".archivo c ".
El segundo puntero que definimos es name_ptr del tipo de char y sirve como un puntero a la cadena que es el argumento de salida que la función Basename () usa para devolver el nombre del archivo.
Con los punteros definidos y la ruta especificada, llamamos a la función Basename (), pasando la Path_ptr puntero como argumento de entrada y el name_ptr puntero como argumento de salida de la siguiente manera:
name_ptr = basename (path_ptr);
El siguiente es el código completo para obtener el nombre de archivo o el último componente de la ruta que se especifica en Path_ptr. Usando la función printf (), mostramos la ruta y el mensaje "El nombre del archivo es:"En la consola de comando, seguido del nombre del archivo que se obtiene utilizando la función Basename.
#incluir
#incluir
vacío principal()
char* name_ptr;
char* path_pt r = "/home/documents/ejemplo.C";
name_ptr = basename (path_ptr);
printf ("\ n \ n La ruta del archivo es: %s \ n \ n", path_ptr);
printf ("\ n \ n El nombre del archivo es: %s \ n \ n", name_ptr);
Para compilar este código en el GCC, necesitamos ejecutar el "GCC ruta de archivo -O Comando Nombre de salida ".
~ $ GCC Documentos/Ejemplo.Ejemplo C -O
Para ejecutar la salida, debemos ejecutar el "./ Comando de nombre de salida ".
~ $ ./ejemplo
En la siguiente figura, puede ver el resultado de la ejecución de la compilación que muestra la ruta y el nombre del archivo en la consola de comando que se especifica en la ruta en Path_ptr.
Conclusión
En esto Pista de Linux artículo, aprendiste a usar el Basename () función para obtener el nombre del archivo o el último componente de una ruta determinada. Observamos la teoría de esta función, sus argumentos de entrada y salida, y el tipo de datos que cada uno de ellos acepta. Luego, observamos un ejemplo práctico mostrándole un proceso paso a paso sobre cómo insertar los encabezados necesarios, definir los punteros que la función usa como argumentos de entrada y salida, y recupere el nombre del archivo llamando al Basename ().
Esperamos que hayas encontrado este artículo útil. Para obtener más artículos como este, use el motor de búsqueda en nuestro sitio web.