_mkdir
, _wmkdir
新しいディレクトリを作成します。
構文
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
パラメーター
dirname
新しいディレクトリのパス。
戻り値
新しいディレクトリが作成された場合、これらの各関数は値 0 を返します。 エラーが発生した場合、この関数では -1 を返し、errno
を次のように設定します。
EEXIST
dirname
は既存のファイル、ディレクトリ、またはデバイスの名前であるため、ディレクトリが作成されませんでした。
ENOENT
パスが見つかりませんでした。
これらのリターン コードとその他のリターン コードについては、「errno
、_doserrno
、_sys_errlist
、_sys_nerr
」を参照してください。
解説
_mkdir
関数では、指定された dirname
の新しいディレクトリを作成します。 _mkdir
は、1 回の呼び出しにつき 1 つの新しいディレクトリしか作成できません。そのため、新しいディレクトリの名前となるのは 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> |
互換性の詳細については、「 Compatibility」を参照してください。
ライブラリ
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