Вернуть последнюю лексему из строки, содержащей путь к файлу
#include <libgen.h>char * basename( char *path );
libc
Функция basename() принимает строку, содержащую путь к файлу path и возвращает указатель на последнюю лексему из строки, удаляя любые завершающие символы «/».
Функция basename() возвращает:
NULL
указателем, или указывает на пустую строку. Объеденив строки возвращаемые dirname() и basename() можно получить полный путь. Выражение dirname( path ) возвращает путь к каталогу, в котором находится basename( path ).
![]() | Функция basename() может изменять содержимое строки path, и может возвращать указатели на постоянно выделенную память. |
Указатель на последнюю лексему path.
#include <stdio.h>#include <libgen.h>#include <stdlib.h>int main( int argc, char** argv ){int x;for( x = 1; x < argc; x++ ){printf( "%s\n", basename( argv[x] ) );}return (EXIT_SUCCESS);}
В таблице ниже показан ввод и вывод программы (ввод → вывод):
POSIX 1003.1 X/Open Systems Interfaces Extension
Предыдущий раздел: Описание API системной библиотеки