_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_errlist
i _sys_nerr
.
Uwagi
Funkcja _mkdir
tworzy nowy katalog z określonym dirname
elementem . _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ą ; _mkdir
argument 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 rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_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