getcwd - get the pathname of the current working directory
#include <unistd.h> char *getcwd(char *buf, size_t size);
The getcwd() function places an absolute pathname of the current working directory in the array pointed to by buf, and returns buf. The size argument is the size in bytes of the character array pointed to by the buf argument. If buf is a null pointer, the behaviour of getcwd() is undefined.
Upon successful completion, getcwd() returns the buf argument. Otherwise, getcwd() returns a null pointer and sets errno to indicate the error. The contents of the array pointed to by buf is then undefined.
The getcwd() function will fail if:
- The size argument is 0.
- The size argument is greater than 0, but is smaller than the length of the pathname +1.
The getcwd() function may fail if:
- Read or search permission was denied for a component of the pathname.
- Insufficient storage space is available.
If buf is a null pointer, getcwd() may obtain size bytes of memory using malloc(). In this case, the pointer returned by getcwd() may be used as the argument in a subsequent call to free(). Invoking getcwd() with buf as a null pointer is not recommended.
Derived from Issue 1 of the SVID.