File: getcwd.3

package info (click to toggle)
manpages-es 1.55-9
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,468 kB
  • ctags: 6
  • sloc: sh: 1,629; makefile: 64
file content (119 lines) | stat: -rw-r--r-- 3,706 bytes parent folder | download | duplicates (4)
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" License.
.\" Modified Wed Jul 21 22:35:42 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 18 Mar 1996 by Martin Schulze (joey@infodrom.north.de):
.\"   Corrected description of getwd().
.\" Modified Sat Aug 21 12:32:12 MET 1999 by aeb - applied fix by aj
.\" Translated into Spanish Fri 23 Jan 1998 by Gerardo Aburruzaga
.\" García <gerardo.aburruzaga@uca.es>
.\" Translation revised Sat Jun 26 1999 by Juan Piernas <piernas@ditec.um.es>
.\"
.TH GETCWD 3 "21 julio 1993" "GNU" "Manual del Programador de Linux"
.SH NOMBRE
getcwd, get_current_dir_name, getwd \- Obtienen el directorio de
trabajo en curso
.SH SINOPSIS
.nf
.B #include <unistd.h>
.sp
.BI "char *getcwd(char *" buf ", size_t " tam ");"
.B "char *get_current_dir_name(void);"
.BI "char *getwd(char *" buf );
.fi
.SH DESCRIPCIÓN
La función
.B getcwd()
copia el nombre de camino absoluto del directorio de trabajo en curso
al vector apuntado por
.IR buf ,
que tiene de longitud
.IR tam .
.PP
Si el nombre de camino absoluto antedicho requiriera un búfer mayor de
.I tam
elementos, se devolvería
.B NULL
y
.I errno
tomaría el valor
.BR ERANGE ;
una aplicación debería comprobar si ha ocurrido este error, y reservar
un búfer más grande si fuera necesario.
.PP
Como una extensión al estándar POSIX.1,
.B getcwd()
reserva el búfer dinámicamente empleando para ello
.B malloc()
si
.I buf
es
.B NULL
a la hora de la llamada. En este caso, el búfer reservado tiene la longitud
.I tam
a menos que
.I tam
sea cero, situación en la que
.I buf
se reservará con un tamaño tan grande como sea necesario. Es posible
(e, incluso, recomendable) liberar con
.B free()
los búferes si han sido obtenidos por esta vía.

.BR get_current_dir_name ,
cuyo prototipo sólo existe si está definida la macro
.BR __USE_GNU ,
obtendrá memoria con
.BR malloc (3)
para un vector lo bastante grande como para alojar el nombre del
directorio en curso. Si la variable de ambiente
.B PWD
existe y tiene un valor correcto, se devuelve este valor.

.BR getwd ,
cuyo prototipo sólo existe si está definida la macro
.BR __USE_BSD ,
no obtendrá memoria con
.BR malloc (3)
ni de ninguna otra forma. El argumento
.I buf
deberá ser un puntero a un vector de al menos
.B PATH_MAX
bytes de largo.
.BR getwd
solamente devuelve los primeros
.B PATH_MAX
bytes del nombre de camino real.
.SH "VALOR DEVUELTO"
.B NULL
en caso de fallo (por ejemplo, si el directorio en curso no es legible),
con un valor apropiado en
.IR errno ,
y
.I buf
en caso de acabar con éxito.
.SH "CONFORME A"
POSIX.1
.SH "VÉASE TAMBIÉN"
.BR chdir (2),
.BR free (3),
.BR malloc (3).