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)