_mkdir
, _wmkdir
Yeni bir dizin oluşturur.
Sözdizimi
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Parametreler
dirname
Yeni dizinin yolu.
Dönüş değeri
Bu işlevlerin her biri, yeni dizin oluşturulduysa 0 değerini döndürür. Bir hatada işlev -1 döndürür ve aşağıdaki gibi ayarlar errno
.
EEXIST
Dizin oluşturulmadı çünkü dirname
mevcut bir dosyanın, dizinin veya cihazın adıdır.
ENOENT
Yol bulunamadı.
Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
işlevi, _mkdir
belirtilen dirname
ile yeni bir dizin oluşturur. _mkdir
çağrısı başına yalnızca bir yeni dizin oluşturabilir, bu nedenle yalnızca öğesinin son bileşeni dirname
yeni bir dizini adlandırabilir. _mkdir
yol sınırlayıcılarını çevirmez. Windows NT'de hem ters eğik çizgi (\
) hem de eğik çizgi (/
), çalışma zamanı yordamlarındaki karakter dizelerinde geçerli yol sınırlayıcılarıdır.
_wmkdir
, öğesinin _mkdir
geniş karakterli bir sürümüdür; dirname
bağımsız değişkeni _wmkdir
geniş karakterli bir dizedir. _wmkdir
ve _mkdir
aksi takdirde aynı şekilde davran.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
Tchar.h olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar
C çalışma zamanı kitaplıklarının tüm sürümleri.
Örnek
// 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" );
}
Örnek çıktı
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