_fullpath -- Get Full Path Name of Partial Path

Format

#include <stdlib.h>
char *_fullpath(char *pathbuf, char *partialpath, size_t n);

Language Level: Extension
_fullpath gets the full path name of the given partial path name partialpath, and stores it in pathbuf. The integer argument n specifies the maximum length for the path name. An error occurs if the length of the path name, including the terminating null character, exceeds n characters.

If pathbuf is NULL, _fullpath uses malloc to allocate a buffer of size _MAX_PATH bytes to store the path name.

Return Value
_fullpath returns a pointer to pathbuf. If an error occurs, _fullpath returns NULL and sets errno to one of the following values:

Value Meaning
ENOMEM Unable to allocate storage for the buffer.
ERANGE The path name is longer than n characters.
EOS2ERR A system error occurred. Check _doserrno for the specific OS/2 or Windows code.

Example
This example uses _fullpath to get and store the full path name of the current directory.

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void)
{
   char *retBuffer;
   retBuffer = _fullpath(NULL, ".", 0);
   if (NULL == retBuffer) {
      printf("An error has occurred, errno is set to %d.\n", errno);
   }
   else
      printf("Full path name of current directory is %s.\n", retBuffer);
   return 0;
   /********************************************************************
      The output should be similar to:
      Full path name of current directory is D:\BIN.
   ********************************************************************/
}



_getcwd -- Get Path Name of Current Directory
_getdcwd -- Get Full Path Name of Current Directory
_makepath -- Create Path
malloc -- Reserve Storage Block
_splitpath -- Decompose Path Name
<stdlib.h>