Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cria um novo diretório.
Sintaxe
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Parâmetros
dirname
Caminho para um novo diretório.
Valor retornado
Cada uma dessas funções retorna o valor 0 se o novo diretório foi criado. Em um erro, a função retorna – 1 e define errno da seguinte maneira.
EEXIST Directory não foi criado porque dirname é o nome de um arquivo, diretório ou dispositivo existente.
ENOENT O caminho não foi encontrado.
Para obter mais informações sobre esses e outros códigos de retorno, confira errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
A função _mkdir cria um novo diretório com o dirname especificado. _mkdir pode criar apenas um novo diretório por chamada, portanto, somente o último componente de dirname pode nomear um novo diretório. _mkdir não traduz delimitadores de caminho. No Windows NT, a barra invertida (\) e a barra (/) são delimitadores de caminho válidos em cadeias de caracteres em rotinas de tempo de execução.
A função _wmkdir é uma versão de caractere largo da função _mkdir; o argumento dirname para _wmkdir é uma cadeia de caracteres larga. Caso contrário, _wmkdir e _mkdir se comportam de forma idêntica.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Mapeamentos de rotina de texto genérico
Rotina Tchar.h |
_UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
|---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
Requisitos
| Rotina | Cabeçalho necessário |
|---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> ou <wchar.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas
Todas as versões das bibliotecas em tempo de execução C.
Exemplo
// 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" );
}
Saída de exemplo
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