_mkdir, _wmkdir
Crea un nuevo directorio.
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Parámetros
- dirname
Ruta de acceso para un nuevo directorio.
Valor devuelto
Cada una de estas funciones devuelve el valor 0 si el nuevo directorio se creó. En un error, la función devuelve – 1 y establece errno como sigue.
EEXIST
El directorio no se creó porque dirname es el nombre de un archivo existente, un directorio, o de un dispositivo.ENOENT
La ruta no se encontró.
Para obtener más información sobre estos y otros códigos de retorno, vea _doserrno, errno, _sys_errlist y _sys_nerr.
Comentarios
La función de _mkdir crea un nuevo directorio con el dirname especificado ._mkdir sólo puede crear un nuevo directorio por llamada, tan sólo el componente último de dirname puede llamar a un nuevo directorio. _mkdir no traduce los delimitadores de la ruta. En windows NT, la barra diagonal inversa (\) y la barra diagonal (/) son delimitadores de ruta válidos en cadenas de caracteres en rutinas de servicio.
_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.
Asignaciones de rutina de texto genérico
Rutina Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> o <wchar.h> |
Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.
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" );
}
Resultados del 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