Compartir a través de


_mkdir, _wmkdir

Crea un directorio nuevo.

Sintaxis


int _mkdir(
   const char *dirname
);
int _wmkdir(
   const wchar_t *dirname
);

Parámetros

dirname
Ruta de acceso de un directorio nuevo.

Valor devuelto

Cada una de estas funciones devuelve el valor 0 si se ha creado el directorio nuevo. En caso de error, la función devuelve -1 y establece errno del siguiente modo.

EEXIST El directorio no se creó porque dirname es el nombre de un archivo, directorio o dispositivo existente.

ENOENT No se encontró la ruta de acceso.

Para obtener más información sobre estos y otros códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

La función _mkdir crea un directorio con el valor dirname especificado. _mkdir puede crear únicamente un directorio nuevo por llamada, por lo que solo el último componente de dirname puede asignar un nombre a un directorio nuevo. _mkdir no traduce delimitadores de ruta de acceso. En Windows NT, tanto la barra diagonal inversa (\) como la barra diagonal (/) son delimitadores de ruta de acceso válidos en cadenas de caracteres en rutinas en tiempo de ejecución.

_wmkdir es una versión con caracteres anchos de _mkdir; el argumento dirname para _wmkdir es una cadena de caracteres anchos. Por lo demás,_wmkdir y _mkdir se comportan de forma idéntica.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina Tchar.h _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tmkdir _mkdir _mkdir _wmkdir

Requisitos

Routine Encabezado necesario
_mkdir <direct.h>
_wmkdir <direct.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_makedir.c

#include <direct.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   if( _mkdir( "\\testtmp" ) == 0 )
   {
      printf( "Directory '\\testtmp' was successfully created\n" );
      system( "dir \\testtmp" );
      if( _rmdir( "\\testtmp" ) == 0 )
        printf( "Directory '\\testtmp' was successfully removed\n"  );
      else
         printf( "Problem removing directory '\\testtmp'\n" );
   }
   else
      printf( "Problem creating directory '\\testtmp'\n" );
}

Salida de ejemplo

Directory '\testtmp' was successfully created
Volume in drive C has no label.
Volume Serial Number is E078-087A

Directory of C:\testtmp

02/12/2002  09:56a      <DIR>          .
02/12/2002  09:56a      <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  15,498,690,560 bytes free
Directory '\testtmp' was successfully removed

Consulte también

Control de directorio
_chdir, _wchdir
_rmdir, _wrmdir