File: getcwd.3

package info (click to toggle)
manpages-pt 20040726-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,988 kB
  • sloc: sh: 45; makefile: 16
file content (90 lines) | stat: -rw-r--r-- 2,296 bytes parent folder | download | duplicates (6)
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