Provided by: manpages-pt-dev_20040726-5_all bug

NOME

       getcwd, get_current_dir_name, getwd - Retorna o diretório de trabalho corrente

SINOPSE

       #include <unistd.h>

       char *getcwd(char *buf, size_t size);
       char *get_current_dir_name(void);
       char *getwd(char *buf);

DESCRIÇÃO

       A  função  getcwd()  copia o caminho absoluto do diretório de trabalho corrente para o vetor apontado por
       buf, que tem seu tamanho definido por size.

       Se o caminho absoluto corrente for maior do que o buffer de size elementos, então a função  irá  retornar
       NULL  e  errno  receberá  o  valor  ERANGE; A aplicação (ou programa) deve verificar este tipo de erro, e
       alocar um buffer maior se necessário.

       Como uma extensão do padrão POSIX.1, getcwd() aloca o buffer dinamicamente usando a  função  malloc()  se
       buf  for  NULL  no momento da chamada à função. Neste caso , o buffer alocado tem o tamanho de size a não
       ser que size seja zero, quando , então , buf é alocado do tamanho que  for  necessário.   É  possível  (e
       recomendável) executar a função free() se os buffers forem obtidos desta maneira.

       get_current_dir_name,  que  é prototipada somente se _GNU_SOURCE estiver definido, irá malloc(3) um vetor
       grande o suficiente para conter o nome do diretório corrente. Se  a  variável  de  ambiente  PWD  estiver
       inicializada, e seu valor estiver correto , então este valor será retornado.

       getwd,  que  é  prototipada somente se _BSD_SOURCE ou _XOPEN_SOURCE_EXTENDED estiverem definidos, não irá
       malloc(3) (alocar) nenhuma memória. O argumento buf deve ser um ponteiro para um vetor de tamanho  mínimo
       , em bytes , de PATH_MAX .

       getwd somente retorna os primeiros PATH_MAX bytes do caminho atual.

VALOR RETORNADO

       NULL  em  caso  de  falha (por exemplo, se o diretório corrente não pode ser lido), com errno recebendo o
       valor de acordo com o erro, e buf em caso de sucesso.

EM CONFORMIDADE COM

       POSIX.1

VER TAMBÉM

       chdir(2), free(3), malloc(3).

TRADUÇÃO PARA A LÍNGUA PORTUGUESA

       Antonio Belloni <abelloni@ig.com.br> (tradução)

GNU                                            21 de Julho de 1993                                     GETCWD(3)