Программирование на C и C++

Онлайн справочник программиста на C и C++

getcwd

char *getcwd(char *dir, int len)

Прототип: 
Описание: 

Эта функция не определена стандартом ANSI C.

Функция getcwd() копирует полный путь (максимум len символов) текущего рабочего каталога диска в строку, на которую указывает параметр dir. Если полный путь длиннее, чем len символов, то возникает ошибка. Функция getcwd() возвращает указатель на dir.

При вызове функции getcwd() с параметром dir, равным NULL, функция getcwd() автоматичес­ки размещает буфер с использованием функции malloc() и возвращает указатель на этот буфер. Можно освободить память, выделенную функцией getcwd(), используя функцию free().

При ошибке функция getcwd() возвращает значение NULL, а переменная errno устанавливается равной ENODEV (устройство не существует), ENOMEM (недостаточно памяти) или ERANGE (ошибка области).

Пример: 
Следующая программа выводит полный путь текущего рабочего каталога:
#include <stdio.h>
#include <dir.h>
int main(void)
{
char dir[MAXDIR];
getcwd(dir, MAXDIR);
printf("Current directory is %s", dir);
return 0;
}