_mkdir, _wmkdir

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.

Retornar valor

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 Diretório 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, consulte Estado global na 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

Confira também

Controle de diretório
_chdir, _wchdir
_rmdir, _wrmdir