The
getcwd()
function copies the absolute pathname of the current working directory
into the memory referenced by
buf
and returns a pointer to
buf.
The
size
argument is the size, in bytes, of the array referenced 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 include
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
(‘.amp;’)
and use the
fchdir(2)
function to return.