from small one page howto to huge articles all in one place
 

search text in:





Poll
Which screen resolution do you use?










poll results



Last additions:
Disable Anti-Aliasing fonts

Disable Anti-Aliasing fonts

words:

186

views:

8266

userrating:

no votes yet


May 25th. 2007:
Words

491

Views

9600

why adblockers are bad


handy one-liners for sed (Unix stream editor)
Tutorial:

handy one-liners for sed (Unix stream editor)

words:

4078

views:

25003

userrating:

no votes yet


rotating apache logfiles with cronolog

rotating apache logfiles with cronolog

words:

294

views:

9730

userrating:

no votes yet


Druckversion
You are here: manpages

GETCWD

Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index Return to Main Contents
 

NAME

getcwd, getwd, get_current_dir_name - Get current working directory  

SYNOPSIS

#include <unistd.h>

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

char *getwd(char *buf);

char *get_current_dir_name(void);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

getcwd(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
get_current_dir_name(): _GNU_SOURCE  

DESCRIPTION

The getcwd() function copies an absolute pathname of the current working directory to the array pointed to by buf, which is of length size.

If the current absolute pathname would require a buffer longer than size elements, NULL is returned, and errno is set to ERANGE; an application should check for this error, and allocate a larger buffer if necessary.

If buf is NULL, the behavior of getcwd() is undefined.

As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc) getcwd() allocates the buffer dynamically using malloc(3) if buf is NULL on call. In this case, the allocated buffer has the length size unless size is zero, when buf is allocated as big as necessary. It is possible (and, indeed, advisable) to free(3) the buffers if they have been obtained this way.

get_current_dir_name(), will malloc(3) an array big enough to hold the current directory name. If the environment variable PWD is set, and its value is correct, then that value will be returned.

getwd(), does not malloc(3) any memory. The buf argument should be a pointer to an array at least PATH_MAX bytes long. getwd() does only return the first PATH_MAX bytes of the actual pathname. Note that PATH_MAX need not be a compile-time constant; it may depend on the file system and may even be unlimited. For portability and security reasons, use of getwd() is deprecated.  

RETURN VALUE

NULL on failure with errno set accordingly, and buf on success. The contents of the array pointed to by buf is undefined on error.  

ERRORS

EACCES
Permission to read or search a component of the filename was denied.
EFAULT
buf points to a bad address.
EINVAL
The size argument is zero and buf is not a null pointer.
ENOENT
The current working directory has been unlinked.
ERANGE
The size argument is less than the length of the working directory name. You need to allocate a bigger array and try again.
 

CONFORMING TO

getcwd() conforms to POSIX.1-2001. getwd() is present in POSIX.1-2001, but marked LEGACY. get_current_dir_name() is a GNU extension.  

NOTES

Under Linux, the function getcwd() is a system call (since 2.1.92). On older systems it would query /proc/self/cwd. If both system call and proc file system are missing, a generic implementation is called. Only in that case can these calls fail under Linux with EACCES.

These functions are often used to save the location of the current working directory for the purpose of returning to it later. Opening the current directory (".") and calling fchdir(2) to return is usually a faster and more reliable alternative when sufficiently many file descriptors are available, especially on platforms other than Linux.  

SEE ALSO

chdir(2), fchdir(2), open(2), unlink(2), free(3), malloc(3)  

COLOPHON

This page is part of release 3.05 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
CONFORMING TO
NOTES
SEE ALSO
COLOPHON

Please read "Why adblockers are bad". Ärger mit Freenet.de



to the forum.
:
:
other Ads
Stellenangebote
Stellenangebote
für Fach- und
Führungskräfte
www.nachoben.com
Other free services
toURL.org
Shorten long
URLs to short
links like
http://tourl.org/2
tourl.org
.
FeedCollector
Combine various newsfeeds to one customized webpage
www.feedcollector.org
.
Reverse DNS lookup
Find out which hostname(s)
resolve to a
given IP or other hostnames for the server
www.reversednslookup.org
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004 S&P Softwaredesign
Valid XHTML1.1 : Valid CSS : buttonmaker
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 31.4 ms
system status display