getcwd(3C) getcwd(3C)
NAME
getcwd - get pathname of current working directory
SYNOPSIS
#include <unistd.h>
char *getcwd(char *buf, size_t size);
DESCRIPTION
getcwd returns a pointer to the current directory pathname.
The value of size must be at least one greater than the length
of the pathname 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.
Return Values
Returns NULL with errno set if size is not large enough, or if
an error occurs in a lower-level function.
Errors
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 equal to 0.
ERANGE size is less than 0 or is greater than 0 and less
than the length of the pathname plus 1.
USAGE
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);
Copyright 1994 Novell, Inc. Page 1
getcwd(3C) getcwd(3C)
}
(void)printf("%s\n", cwd);
return(0);
}
REFERENCES
malloc(3C), types(5)
Copyright 1994 Novell, Inc. Page 2