_chdir, _wchdir
Cambia el directorio de trabajo actual.
Importante
Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /ZW.
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parámetros
- dirname
Ruta de acceso del nuevo directorio de trabajo.
Valor devuelto
Estas funciones devuelven un valor de 0 si se ejecutan correctamente. Un valor devuelto de –1 indica error. Si la ruta de acceso especificada no se encuentra, errno se establece en ENOENT. Si dirname es NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve -1.
Comentarios
La función _chdir cambia el directorio de trabajo actual por el directorio que se especifica mediante dirname. El parámetro dirname debe hacer referencia a un directorio existente. Esta función puede cambiar el directorio de trabajo actual de cualquier unidad. Si en dirname se especifica otra letra de unidad, la letra de unidad predeterminada también se cambia. Por ejemplo, si A es la letra de unidad predeterminada y \BIN es el directorio de trabajo actual, la siguiente llamada cambia el directorio de trabajo actual a la unidad C y establece C como nueva unidad predeterminada:
_chdir("c:\\temp");
Si se usa el carácter de barra diagonal inversa opcional (\) en rutas de acceso, es necesario poner dos barras diagonales inversas (\\) en un literal de cadena de C para representar una barra diagonal inversa (\).
_wchdir es una versión con caracteres anchos de _chdir; el argumento de dirname para _wchdir es una cadena de caracteres anchos. _wchdir y _chdir se comportan de forma idéntica en todo lo demás.
Asignación de rutina de texto genérico:
Rutina Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Requisitos
Rutina |
Encabezado necesario |
Encabezado opcional |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> o <wchar.h> |
<errno.h> |
Para obtener más información sobre compatibilidad, vea Compatibilidad.
Ejemplo
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
Equivalente en .NET Framework
System::Environment::CurrentDirectory