1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
.TH GETCWD 3 "21 de Julho de 1993" "GNU" "Manual do Programador Linux"
.SH NOME
getcwd, get_current_dir_name, getwd \- Retorna o diretrio de trabalho corrente
.SH SINOPSE
.nf
.B #include <unistd.h>
.sp
.BI "char *getcwd(char *" buf ", size_t " size ");"
.B "char *get_current_dir_name(void);"
.BI "char *getwd(char *" buf );
.fi
.SH DESCRIO
A funo
.B getcwd()
copia o caminho absoluto do diretrio 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, ento a funo ir retornar
.B NULL
e
.I errno
receber o valor
.BR ERANGE ;
A aplicao (ou programa) deve verificar este tipo de erro, e alocar um buffer maior se
necessrio.
.PP
Como uma extenso do padro POSIX.1,
.B getcwd()
aloca o buffer dinamicamente usando a funo
.B malloc()
se
.I buf
for
.B NULL
no momento da chamada funo. Neste caso , o buffer alocado tem o tamanho de
.I size
a no ser que
.I size
seja zero, quando , ento ,
.I buf
alocado do tamanho que for necessrio. possvel (e recomendvel) executar a funo
.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 diretrio corrente. Se a varivel de
ambiente
.B PWD
estiver inicializada, e seu valor estiver correto , ento este valor ser retornado.
.BR getwd ,
que prototipada somente se
.B _BSD_SOURCE
ou
.B _XOPEN_SOURCE_EXTENDED
estiverem definidos, no ir
.BR malloc (3)
(alocar) nenhuma memria. O argumento
.I buf
deve ser um ponteiro para um vetor de tamanho mnimo , 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 diretrio corrente no 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 TAMBM"
.BR chdir (2),
.BR free (3),
.BR malloc (3).
.SH "TRADUO PARA A LNGUA PORTUGUESA"
\&\fR\&\f(CWAntonio Belloni <abelloni@ig.com.br> (traduo)\fR
|