_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

Vea también

Referencia

Control de directorio

_mkdir, _wmkdir

_rmdir, _wrmdir

system, _wsystem