_mkdir _wmkdir
建立新目錄。
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
參數
- dirname
新的目錄路徑。
傳回值
如果在建立新的目錄,每個函式會傳回 0。錯誤、 函式傳回 – 1 及設定errno ,如下所示。
EEXIST
無法建立目錄,因為dirname是現有的檔案、 目錄或裝置的名稱。ENOENT
找不到路徑。
如需有關這些及其他的傳回碼的詳細資訊,請參閱 _doserrno、 errno、 _sys_errlist,以及 _sys_nerr。
備註
_mkdir函式會建立新的目錄,具有指定 dirname。_mkdir可以建立一個新的目錄,每個呼叫,因此只有最後一個元件的dirname可以命名新的目錄。 _mkdir並不會轉譯路徑分隔符號。在 Windows NT,同時反斜線 (\) 和正斜線 (/) 都是在執行階段常式中的字元字串中的有效路徑分隔符號。
_wmkdir寬字元版本的**_mkdir**。 dirname引數為**_wmkdir是寬字元字串。_wmkdir與_mkdir**其他方式完全相同。
泛用文字常式對應
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