getwd – определение пути к текущей директории.
Синтаксис:
#include < stdio.h >
char* getwd (char* buf);
Аргументы:
buf – указатель на буфер, в который будет помещен путь к текущей директории.
Возвращаемое значение:
В случае успешного определения пути к текущей директории возвращается указатель на buf, в противном слуае возвращается NULL, а в буфер buf помещается сообщение об ошибке.
Описание:
Функция getwb определяет полный путь к текущей директории и записывает результат в буфер, адрес которого указан в аргументе. Размер буфера должен быть не меньше PATH_MAX байт. Значение константы PATH_MAX определено в библиотеке limits.h.
В случае успешного определения пути к текущей директории возвращается указатель на buf, в противном слуае возвращается NULL, а в буфер buf помещается сообщение об ошибке.
Не рекомендуется использовать данную функцию, так как при указании размера буфера buf, меньше чем полная длина имени текущей директории, возможны сбои в работе программы. Используейте функцию get_current_dir_name.
Пример:
В примере определяется полный путь к текущей директории.
#include < unistd.h > //Для getwd
#include < limits.h > //Для PATH_MAX
#include < stdio.h > //Для printf
int main (void)
{
// Буфер в который будет помещен путь
// к текущей директории
char PathName[PATH_MAX];
// Переменная, в которую буднт помещен указатель на PathName
char PN;
// Определяем путь к текущей директории
PN = getwd (PathName);
// Вывод результата на консоль
if (PN == NULL) printf (“Ошибка определения пути”);
else printf (“Текущая директория: %s\n”,PathName);
return 0;
}
| |
Результат:
Текущая директория: /root/Desktop/test
|
Смотри так же:
get_current_dir_name
getwd
|