Compartir a través de


_getdcwd, _wgetdcwd

Obtiene la ruta de acceso completa del directorio de trabajo actual en la unidad especificada.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Parámetros

  • drive
    Un entero no negativo que especifica la unidad (0 = unidad predeterminada, 1 = A, 2 = b, etc.).

    Si la unidad especificada no está disponible, o la clase de unidad (por ejemplo, móvil, fixed, un CD-ROM, disco RAM, o unidad de red) no se puede determinar, se invoca el controlador de inválido- parámetro, que se describe en Validación de parámetros.

  • buffer
    Ubicación de almacenamiento de la ruta, o NULL.

    Si se especifica NULL, esta función asigna un búfer por lo menos el tamaño de maxlen mediante malloc, y el valor devuelto de _getdcwd es un puntero al búfer asignado.El búfer puede liberar llamando a free y pasando el puntero.

  • maxlen
    Un entero positivo distinto de cero que especifica la longitud máxima de la ruta, en caracteres: char para _getdcwd y wchar_t para _wgetdcwd.

    Si maxlen no es mayor que cero, se invoca el controlador de inválido- parámetro, que se describe en Validación de parámetros.

Valor devuelto

Puntero a una cadena que representa la ruta de acceso completa del directorio de trabajo actual en la unidad especificada, o NULL, que indica un error.

Si se especifica buffer como NULL y hay memoria suficiente para asignar caracteres de maxlen, se produce un error y errno se establece en ENOMEM.Si la longitud de la ruta, incluido el carácter null de terminación, supera maxlen, se produce un error y errno se establece en ERANGE.Para obtener más información sobre estos códigos de error, vea errno, _doserrno, _sys_errlist, y _sys_nerr.

Comentarios

La función de _getdcwd obtiene la ruta de acceso completa del directorio de trabajo actual en la unidad especificada y la almacena en buffer.Si el directorio de trabajo actual se establece en la raíz, la cadena finaliza con una barra diagonal inversa (\).Si el directorio de trabajo actual se establece en un directorio distinto de la raíz, la cadena finaliza con el nombre del directorio y no con una barra diagonal inversa.

_wgetdcwd es una versión con caracteres anchos de _getdcwd, y el parámetro y valor devuelto de buffer son cadenas de caracteres.Si no, _wgetdcwd y _getdcwd se comportan exactamente igual.

Esta función es seguro para subprocesos aunque depende de GetFullPathName, que es en sí mismo no es seguro para subprocesos.Sin embargo, puede infringir la seguridad para subprocesos si la aplicación multiproceso llama a esta función y GetFullPathName.Para obtener más información, vaya a MSDN Library y después busque GetFullPathName.

La versión de esta función con el sufijo de _nolock se comporta idénticamente a esta función salvo que de ella no es seguro para subprocesos y no se protege de interferencia por otros subprocesos.Para obtener más información, vea _getdcwd_nolock, _wgetdcwd_nolock.

Cuando se definen _DEBUG y _CRTDBG_MAP_ALLOC, las llamadas a _getdcwd y _wgetdcwd son reemplazados por llamadas a _getdcwd_dbg y a _wgetdcwd_dbg para poder depurar asignaciones de memoria.Para obtener más información, vea _getdcwd_dbg, _wgetdcwd_dbg.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Requisitos

Rutina

Encabezado necesario

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad.

Ejemplo

Vea el ejemplo de _getdrive.

Equivalente en .NET Framework

System::Environment::CurrentDirectory

Vea también

Referencia

Control de directorio

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir