_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