getcwd(3C) (C Programming Language Utilities) getcwd(3C)
NAME
getcwd - get path-name of current working directory
SYNOPSIS
#include <unistd.h>
char *getcwd (char *buf, int size);
DESCRIPTION
getcwd returns a pointer to the current directory path name. The
value of size must be at least one greater than the length of the
path-name to be returned.
If buf is not NULL, the pathname will be stored in the space pointed
to by buf.
If buf is a NULL pointer, getcwd will obtain size bytes of space
using malloc(3C). In this case, the pointer returned by getcwd may
be used as the argument in a subsequent call to free.
getcwd will fail if one or more of the following are true:
EACCES A parent directory cannot be read to get its name.
EINVAL size is less than or equal to 0.
ERANGE size is greater than 0 and less than the length of the
path name plus 1.
EXAMPLE
Here is a program that prints the current working directory.
#include <unistd.h>
#include <stdio.h>
main()
{
char *cwd;
if ((cwd = getcwd(NULL, 64)) == NULL)
{
perror("pwd");
exit(2);
}
(void)printf("%s\n", cwd);
return(0);
}
SEE ALSO
malloc(3C)
8/91 Page 1
getcwd(3C) (C Programming Language Utilities) getcwd(3C)
DIAGNOSTICS
Returns NULL with errno set if size is not large enough, or if an
error occurs in a lower-level function.
Page 2 8/91