#include <unistd.h>
The getwd() function shall determine an absolute pathname of the current working directory of the calling process, and copy a string containing that pathname into the array pointed to by the path_name argument.
If the length of the pathname of the current working directory is greater than ({PATH_MAX}+1) including the null byte, getwd() shall fail and return a null pointer.
Upon successful completion, a pointer to the string containing the absolute pathname of the current working directory shall be returned. Otherwise, getwd() shall return a null pointer and the contents of the array pointed to by path_name are undefined.
No errors are defined.
The following sections are informative.
For applications portability, the getcwd() function should be used to determine the current working directory instead of getwd().
Since the user cannot specify the length of the buffer passed to getwd(), use of this function is discouraged. The length of a pathname described in {PATH_MAX} is file system-dependent and may vary from one mount point to another, or might even be unlimited. It is possible to overflow this buffer in such a way as to cause applications to fail, or possible system security violations.
It is recommended that the getcwd() function should be used to determine the current working directory.
This function may be withdrawn in a future version.
getcwd(), the Base Definitions volume of IEEE Std 1003.1-2001, <unistd.h>