Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETCWD(3)		    Library Functions Manual		     GETCWD(3)

NAME
       getcwd, getwd --	get working directory pathname

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<unistd.h>

       char *
       getcwd(char *buf, size_t	size);

       char *
       getwd(char *buf);

DESCRIPTION
       The getcwd() function copies the	absolute pathname of the current work-
       ing  directory  into the	memory referenced by buf and returns a pointer
       to buf.	The size argument is the size, in bytes, of the	 array	refer-
       enced by	buf.

       If  buf is NULL,	space is allocated as necessary	to store the pathname.
       This space may later be free(3)'d.

       The function getwd() is a compatibility routine	which  calls  getcwd()
       with  its  buf argument and a size of MAXPATHLEN	(as defined in the in-
       clude  file  <sys/param.h>).   Obviously,  buf  should  be   at	 least
       MAXPATHLEN bytes	in length.

       These  routines	have  traditionally  been used by programs to save the
       name of a working directory for the purpose of returning	to it.	A much
       faster and less error-prone method of accomplishing this	is to open the
       current directory (`.') and use the fchdir(2) function to return.

RETURN VALUES
       Upon successful completion, a pointer  to  the  pathname	 is  returned.
       Otherwise  a  NULL pointer is returned and the global variable errno is
       set to indicate the error.  In addition,	getwd()	copies the error  mes-
       sage associated with errno into the memory referenced by	buf.

ERRORS
       The getcwd() function will fail if:

       [EINVAL]		  The size argument is zero.

       [ENOENT]		  A component of the pathname no longer	exists.

       [ENOMEM]		  Insufficient memory is available.

       [ERANGE]		  The  size  argument is greater than zero but smaller
			  than the length of the pathname plus 1.

       The getcwd() function may fail if:

       [EACCES]		  Read or search permission was	denied for a component
			  of the pathname.  This is only  checked  in  limited
			  cases, depending on implementation details.

SEE ALSO
       chdir(2), fchdir(2), malloc(3), strerror(3)

STANDARDS
       The getcwd() function conforms to ISO/IEC 9945-1:1990 ("POSIX.1").  The
       ability	to specify a NULL pointer and have getcwd() allocate memory as
       necessary is an extension.

HISTORY
       The getwd() function appeared in	4.0BSD.

BUGS
       The getwd() function does not do	sufficient error checking and  is  not
       able to return very long, but valid, paths.  It is provided for compat-
       ibility.

FreeBSD	13.2			April 17, 2010			     GETCWD(3)

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=getcwd&sektion=3&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help