Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getcwd(3) [ultrix man page]

getcwd(3)						     Library Functions Manual							 getcwd(3)

       getcwd - get pathname of working directory

       char I**getcwd (buf, size)
       char I**buf;
       int size;

       The  subroutine returns a pointer to the current directory pathname.  The value of size must be at least two greater than the length of the
       pathname to be returned.

       If buf is a NULL pointer, will obtain size bytes of space using In this case, the pointer returned by may be used as the argument in a sub-
       sequent call to free.

       The function is implemented by using to pipe the output of the command into the specified string space.

       char *cwd, *getcwd();
       if ((cwd = getcwd((char *)NULL, 64)) == NULL) {

", cwd);

Return Values
       Returns NULL with errno set if size is not large enough, or if an error occurs in a lower-level function.

       [EINVAL]       The size argument is zero or negative.

       [ERANGE]       The size argument is greater than zero, but is smaller than the length of the pathname+1;

       [EACCES]       Read or search permission is denied for a component of the pathname.

       [ENOMEM]       Insufficient storage space is available.

See Also
       pwd(1), malloc(3), popen(3)


Check Out this Related Man Page

GETCWD(3)						   BSD Library Functions Manual 						 GETCWD(3)

getcwd, getwd -- get working directory pathname LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <unistd.h> char * getcwd(char *buf, size_t size); char * getwd(char *buf); DESCRIPTION
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 ('.') and use the fchdir(2) function to return. RETURN VALUES
Upon successful completion, a pointer to the pathname is returned. Otherwise a NULL pointer is returned and the global variable errno is set to indicate the error. In addition, getwd() copies the error message associated with errno into the memory referenced by buf. ERRORS
The getcwd() function will fail if: [EACCES] Read or search permission was denied for a component of the pathname. [EINVAL] The size argument is zero. [ENOENT] A component of the pathname no longer exists. [ENOMEM] Insufficient memory is available. [ERANGE] The size argument is greater than zero but smaller than the length of the pathname plus 1. SEE ALSO
chdir(2), fchdir(2), malloc(3), strerror(3) STANDARDS
The getcwd() function conforms to ISO/IEC 9945-1:1990 (``POSIX.1''). The ability to specify a NULL pointer and have getcwd() allocate memory as necessary is an extension. HISTORY
The getwd() function appeared in 4.0BSD. BUGS
The getwd() function does not do sufficient error checking and is not able to return very long, but valid, paths. It is provided for compat- ibility. BSD
November 24, 1997 BSD
Man Page

6 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

getcwd: permission denied error

When I do a 'cd /appl' and issue 'ls -al' command, I get the following error for .. directory. ./..: Permission denied But still I get a listing of other directories under /appl. Also, if I give 'man' for any command under this /appl folder, I get the following error: ... (3 Replies)
Discussion started by: Deepa
3 Replies

2. Programming

size of a directory

hai friends I need a program to find the size of a directory.. When i tried to get the size, it always gives the default space allocated for it. How can i findout the exact size of a directory using a c program Thanks in advance Collins (6 Replies)
Discussion started by: collins
6 Replies

3. Programming

switching directories in C

Can somebody please explain to me how I can change the current directory using C (if possible). I know i can get the current directory path using getcwd(), but how can I change the directory? (1 Reply)
Discussion started by: owijust
1 Replies

4. Shell Programming and Scripting

getcwd problem.

hi all. i need your help. this is my problem. shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory i do not know how to solve this problem.:confused: thanks (3 Replies)
Discussion started by: annetote
3 Replies

5. UNIX for Dummies Questions & Answers

#$ -cwd #what does this mean?

When I want to specify the current working directory (-cwd) why do I need a # followed by a $? What does the combo of #$ do? Thanks. (1 Reply)
Discussion started by: rebazon
1 Replies

6. UNIX for Advanced & Expert Users


Hi, I constantly get this error as a script is run: getcwd failed (Unix's errno 13; Permission denied) Can anyone point at the location of this function by default in AIX? Thanks! (1 Reply)
Discussion started by: MIA651
1 Replies