Provided by: manpages-pt-dev_20040726-4_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)