_mkdir
, _wmkdir
建立新目錄。
語法
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
參數
dirname
新目錄的路徑。
傳回值
如果已建立新目錄,所有這些函式都會傳回值 0。 發生錯誤時,函式會傳回 -1 並設定 errno
如下。
EEXIST
未建立目錄,因為 dirname
是現有檔案、目錄或裝置的名稱。
ENOENT
找不到路徑。
如需這些傳回碼和其他傳回碼的詳細資訊,請參閱errno
、 _sys_errlist
_doserrno
和 _sys_nerr
。
備註
函 _mkdir
式會建立具有指定 dirname
之 的新目錄。 每次呼叫 _mkdir
只能建立一個新目錄,因此只有 dirname
的最後一個元件可以命名新目錄。 _mkdir
不會轉譯路徑分隔符。 在 Windows NT 中,反斜杠 (\
) 和正斜線 (/
) 都是運行時間例程中字元字串中的有效路徑分隔符。
_wmkdir
是寬字元版本的 _mkdir
; dirname
的 _wmkdir
引數是寬字元字串。 否則,_wmkdir
和 _mkdir
的行為即會相同。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
一般文字常式對應
Tchar.h 常式 |
_UNICODE 和 _MBCS 未定義 |
_MBCS 已定義 |
_UNICODE 已定義 |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
需求
常式 | 必要的標頭 |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> 或 <wchar.h> |
如需相容性詳細資訊,請參閱相容性。
程式庫
所有版本的 C 執行階段程式庫。
範例
// 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" );
}
範例輸出
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