Получить путь к файлу
#include <stdlib.h>char * realpath( const char *pathname,char *resolved_name );
libc
Функция realpath() разрешает все символические ссылки, симыолв слэша (/) и обращается к /
./ и /
../ в pathname, и копирует полученный абсолютный путь в область памяти, на которую ссылается resolved_name.
Чтобы определить размер буфера, на который указывает resolved_name, вызовите fpathconf() или pathconf() с аргументом _PC_PATH_MAX
.
Эта функция разрешает как абсолютные, так и относительные пути и возвращает абсолютный путь, соответствующий требуемому пути. Все компоненты пути, кроме последнего, должны существовать на момент вызова realpath().
Указатель на resolved_name, или NULL
в случае возникновения ошибки (в этом случае в resolved_name будет содержаться проблемный pathname).
Функция realpath() может завершиться некорректно и установить внешнюю переменную errno к любое из значений ошибок, указанных для функций библиотеки:
POSIX 1003.1 X/Open Systems Interfaces Extension
Предыдущий раздел: Описание API системной библиотеки