getcwd man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

getcwd(3C)		 Standard C Library Functions		    getcwd(3C)

NAME
       getcwd - get pathname of current working directory

SYNOPSIS
       #include <unistd.h>

       char *getcwd(char *buf, size_t size);

DESCRIPTION
       The  getcwd() function places an absolute pathname of the current work‐
       ing directory in the array pointed to by	 buf,  and  returns  buf.  The
       pathname	 copied	 to the array contains no components that are symbolic
       links. The size argument is the size in bytes of	 the  character	 array
       pointed	to  by buf and must be at least one greater than the length of
       the pathname to be returned.

       If buf is not a null pointer, the  pathname  is	stored	in  the	 space
       pointed to by buf.

       If  buf	is  a null pointer, getcwd() obtains size bytes of space using
       malloc(3C). The pointer returned by getcwd() can be used as  the	 argu‐
       ment in a subsequent call to free().

RETURN VALUES
       Upon  successful	 completion, getcwd() returns the buf argument. If buf
       is an invalid destination buffer address, NULL is returned and errno is
       set  to EFAULT.	Otherwise, a null pointer is returned and errno is set
       to indicate the error.

ERRORS
       The getcwd() function will fail if:

       EFAULT	 The buf argument is an invalid destination buffer address.

       EINVAL	 The size argument is equal to 0.

       ERANGE	 The size argument is greater than 0 and less than the	length
		 of the pathname plus 1.

       The getcwd() function may fail if:

       EACCES	 A parent directory cannot be read to get its name.

       ENOMEM	 Insufficient storage space is available.

EXAMPLES
       Example 1 Determine the absolute pathname of the current working direc‐
       tory.

       The following example returns a pointer to  an  array  that  holds  the
       absolute	 pathname  of  the  current  working directory. The pointer is
       returned in the ptr variable, which points to the buf array  where  the
       pathname is stored.

	 #include <stdlib.h>
	 #include <unistd.h>
	 ...
	 long size;
	 char *buf;
	 char *ptr;
	 size = pathconf(".", _PC_PATH_MAX);
	 if ((buf = (char *)malloc((size_t)size)) != NULL)
	       ptr = getcwd(buf, (size_t)size);
	 ...

       Example 2 Print the current working directory.

       The following example 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);
	    free(cwd); /* free memory allocated by getcwd() */
	    return(0);
	 }

USAGE
       Applications  should  exercise  care when using chdir(2) in conjunction
       with getcwd(). The current working directory is global to  all  threads
       within  a  process. If more than one thread calls chdir() to change the
       working directory, a subsequent call to getcwd()	 could	produce	 unex‐
       pected results.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       chdir(2), malloc(3C), attributes(5), standards(5)

SunOS 5.10			  18 Oct 2004			    getcwd(3C)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net