_getdcwd, _wgetdcwd
Obtiene la ruta de acceso completa del directorio de trabajo actual en la unidad especificada.
Importante |
---|
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