_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 関数は、一度の呼び出しで 1 つしかディレクトリを作成できないので、dirname の最後の要素が新しいディレクトリの名前になります。 _mkdir は、パスの区切り記号を変換しません。 Windows NT では、ランタイム ルーチンの文字列で、パス区切り記号として円記号 (\) とスラッシュ (/) の両方を使用できます。
_wmkdir 関数は、_mkdir 関数のワイド文字バージョンです。_wmkdir 関数の引数 dirname は、ワイド文字列です。 それ以外では、_wmkdir と _mkdir の動作は同じです。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> または <wchar.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
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