.TH GETCWD 3 "21 de Julho de 1993" "GNU" "Manual do Programador Linux" .SH NOME getcwd, get_current_dir_name, getwd \- Retorna o diretório de trabalho corrente .SH SINOPSE .nf .B #include .sp .BI "char *getcwd(char *" buf ", size_t " size ");" .B "char *get_current_dir_name(void);" .BI "char *getwd(char *" buf ); .fi .SH DESCRIÇÃO A função .B getcwd() copia o caminho absoluto do diretório de trabalho corrente para o vetor apontado por .IR buf , que tem seu tamanho definido por .IR size . .PP Se o caminho absoluto corrente for maior do que o buffer de .I size elementos, então a função irá retornar .B NULL e .I errno receberá o valor .BR ERANGE ; A aplicação (ou programa) deve verificar este tipo de erro, e alocar um buffer maior se necessário. .PP Como uma extensão do padrão POSIX.1, .B getcwd() aloca o buffer dinamicamente usando a função .B malloc() se .I buf for .B NULL no momento da chamada à função. Neste caso , o buffer alocado tem o tamanho de .I size a não ser que .I size seja zero, quando , então , .I buf é alocado do tamanho que for necessário. É possível (e recomendável) executar a função .B free() se os buffers forem obtidos desta maneira. .BR get_current_dir_name , que é prototipada somente se .B _GNU_SOURCE estiver definido, irá .BR malloc (3) um vetor grande o suficiente para conter o nome do diretório corrente. Se a variável de ambiente .B PWD estiver inicializada, e seu valor estiver correto , então este valor será retornado. .BR getwd , que é prototipada somente se .B _BSD_SOURCE ou .B _XOPEN_SOURCE_EXTENDED estiverem definidos, não irá .BR malloc (3) (alocar) nenhuma memória. O argumento .I buf deve ser um ponteiro para um vetor de tamanho mínimo , em bytes , de .B PATH_MAX . .BR getwd somente retorna os primeiros .B PATH_MAX bytes do caminho atual. .SH "VALOR RETORNADO" .B NULL em caso de falha (por exemplo, se o diretório corrente não pode ser lido), com .I errno recebendo o valor de acordo com o erro, e .I buf em caso de sucesso. .SH "EM CONFORMIDADE COM" POSIX.1 .SH "VER TAMBÉM" .BR chdir (2), .BR free (3), .BR malloc (3). .SH "TRADUÇÃO PARA A LÍNGUA PORTUGUESA" \&\fR\&\f(CWAntonio Belloni (tradução)\fR