The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

getcwd (3)
  • getcwd (2) ( Linux man: Системные вызовы )
  • >> getcwd (3) ( Solaris man: Библиотечные вызовы )
  • getcwd (3) ( FreeBSD man: Библиотечные вызовы )
  • getcwd (3) ( Русские man: Библиотечные вызовы )
  • getcwd (3) ( Linux man: Библиотечные вызовы )
  • getcwd (3) ( POSIX man: Библиотечные вызовы )
  •  

    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 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 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 directory.

    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 unexpected results.  

    ATTRIBUTES

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

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityStandard

    MT-Level

     

    SEE ALSO

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


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    EXAMPLES
    USAGE
    ATTRIBUTES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру