Syntax
#include <direct.h> char *_getdcwd(int drive, char *pathbuf, int n);Description
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 the pathbuf argument is NULL, _getdcwd uses malloc to reserve a buffer of at least n bytes to store the path name. If the current working directory string is more than n bytes, a large enough buffer will be allocated to contain the string. You can later free this buffer using the _getdcwd return value as the argument to free.
Alternatives to this function are the DosQueryCurrentDir and DosQueryCurrentDisk functions.
Value
This example uses _getdcwd to obtain the current working directory of drive C.
#include <stdio.h>#include <direct.h>
#include <errno.h>
int main(void)
{
char *retBuffer;
retBuffer = _getdcwd(3, NULL, 0);
if (NULL == retBuffer)
printf("An error has occurred, errno is set to %d.\n", errno);
else
printf("%s is the current working directory in drive C.\n", retBuffer);
return 0;
/****************************************************************************
The output should be similar to:
C:\ is the current working directory in drive C.
****************************************************************************/
}
Related Information