.\" (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 .\" Translation revised Sat Jun 26 1999 by Juan Piernas .\" .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 .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).