get the name of the current working directory
#include <unistd.h> char *getcwd( char *buffer, size_t size );
The getcwd() function returns the name of the current working directory. The buffer address is either NULL, or is the location at which a string containing the name of the current working directory is to be placed. In the latter case, the value of size is the length (including the delimiting '\0' character) that can be be used to store this name.
The maximum size that might be required for buff is PATH_MAX + 1 bytes. This function includes the following extension:
The getcwd() function returns the address of the string containing the name of the current working directory, unless an error occurs, in which case NULL is returned, and the global variable errno is set.
chdir(), errno, mkdir(), rmdir()
#include <stdio.h> #include <stdlib.h> #include <unistd.h> void main() { char *cwd; cwd = getcwd( NULL, 0 ); if( cwd != NULL ) { printf( "My working directory is %s\n", cwd ); free( cwd ); } }
produces the output:
My working directory is /home/bill
POSIX 1003.1 with extensions
All (except Netware, DOS/PM)