_mkdir, _wmkdir

Tworzy nowy katalog.

Składnia


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

Parametry

dirname
Ścieżka dla nowego katalogu.

Wartość zwracana

Każda z tych funkcji zwraca wartość 0, jeśli został utworzony nowy katalog. Po błędzie funkcja zwraca wartość -1 i ustawia errno w następujący sposób.

EEXIST Katalog nie został utworzony, ponieważ dirname jest nazwą istniejącego pliku, katalogu lub urządzenia.

ENOENT Nie można odnaleźć ścieżki.

Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Funkcja _mkdir tworzy nowy katalog z określonym dirnameelementem . _mkdir może utworzyć tylko jeden nowy katalog na wywołanie, więc tylko ostatni składnik dirname programu może nazwać nowy katalog. _mkdir nie tłumaczy ograniczników ścieżek. W systemie Windows NT ukośnik odwrotny () i ukośnik/ (\) są prawidłowymi ogranicznikami ścieżki w ciągach znaków w procedurach czasu wykonywania.

_wmkdir jest wersją szerokoznakową ; _mkdirargument to dirname_wmkdir ciąg o szerokim znaku. _wmkdir i _mkdir zachowywać się identycznie inaczej.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Tchar.h Rutynowych _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_tmkdir _mkdir _mkdir _wmkdir

Wymagania

Procedura Wymagany nagłówek
_mkdir <direct.h>
_wmkdir <direct.h> lub <wchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Wszystkie wersje bibliotek czasu wykonywania języka C.

Przykład

// 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" );
}

Przykładowe dane wyjściowe

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

Zobacz też

Kontrolka katalogu
_chdir, _wchdir
_rmdir, _wrmdir