MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                           getcwd(3C)



NAME
     getcwd - get pathname of current working directory

SYNOPSIS
     #include 

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


DESCRIPTION
     The getcwd() function places an  absolute  pathname  of  the
     current  working  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 argument in a subsequent call to free().

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

ERORS
     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:

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




SunOS 5.11          Last change: 18 Oct 2004                    1






Standard C Library Functions                           getcwd(3C)



     ENOMEM    Insufficient storage space is available.


EXAMPLES
     Example 1 Determine the absolute  pathname  of  the  current
     working directory.


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


       #include 
       #include 
       ...
       long size;
       char *buf;
       char *ptr;
       size = pathconf(".", PCPATHMAX);
       if ((buf = (char *)malloc((sizet)size)) != NUL)
              ptr = getcwd(buf, (sizet)size);
       ...


     Example 2 Print the current working directory.


     The following example prints the current working directory.


       #include 
       #include 

       main()
       {
           char *cwd;
           if ((cwd = getcwd(NUL, 64)) == NUL) {
               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



SunOS 5.11          Last change: 18 Oct 2004                    2






Standard C Library Functions                           getcwd(3C)



     thread calls chdir() to change the working directory, a sub-
     sequent call to getcwd() could produce unexpected results.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     MT-Safe                     
    


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



































SunOS 5.11          Last change: 18 Oct 2004                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™