_getdcwd_dbg, _wgetdcwd_dbg


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at _getdcwd_dbg, _wgetdcwd_dbg.

Debug versions of the _getdcwd, _wgetdcwd functions (only available during debug).

char *_getdcwd_dbg(  
   int drive,  
   char *buffer,  
   int maxlen,  
   int blockType,  
   const char *filename,  
   int linenumber   
wchar_t *_wgetdcwd_dbg(  
   int drive,  
   wchar_t *buffer,  
   int maxlen,  
   int blockType,  
   const char *filename,  
   int linenumber   


Name of the disk drive.

Storage location for the path.

Maximum length of the path in characters: char for _getdcwd_dbgand wchar_tfor _wgetdcwd_dbg.

Requested type of the memory block: _CLIENT_BLOCKor _NORMAL_BLOCK.

Pointer to the name of the source file that requested the allocation operation or NULL.

Line number in the source file where the allocation operation was requested or NULL.

Returns a pointer to buffer. A NULL return value indicates an error, and errno is set either to ENOMEM, indicating that there is insufficient memory to allocate maxlen bytes (when a NULL argument is given as buffer), or to ERANGE, indicating that the path is longer than maxlen characters. For more information, see errno, _doserrno, _sys_errlist, and _sys_nerr.

The _getdcwd_dbg and _wgetdcwd_dbg functions are identical to _getdcwd and _wgetdcwd except that, when _DEBUG is defined, these functions use the debug version of malloc and _malloc_dbg to allocate memory if NULL is passed as the buffer parameter. For more information, see _malloc_dbg.

You do not need to call these functions explicitly in most cases. Instead, you can define the _CRTDBG_MAP_ALLOC flag. When _CRTDBG_MAP_ALLOC is defined, calls to _getdcwd and _wgetdcwd are remapped to _getdcwd_dbg and _wgetdcwd_dbg, respectively, with the blockType set to _NORMAL_BLOCK. Thus, you do not need to call these functions explicitly unless you want to mark the heap blocks as _CLIENT_BLOCK. For more information, see Types of Blocks on the Debug Heap.

Generic-Text Routine Mappings

Tchar.h routine_UNICODE and _MBCS not defined_MBCS defined_UNICODE defined
RoutineRequired header

For more compatibility information, see Compatibility in the Introduction.


_getdcwd, _wgetdcwd
Directory Control
Debug Versions of Heap Allocation Functions