次の方法で共有


_mkdir, _wmkdir

新しいディレクトリを作成します。

構文


int _mkdir(
   const char *dirname
);
int _wmkdir(
   const wchar_t *dirname
);

パラメーター

dirname
新しいディレクトリのパス。

戻り値

新しいディレクトリが作成された場合、これらの各関数は値 0 を返します。 エラーが発生した場合、この関数では -1 を返し、errno を次のように設定します。

EEXISTdirnameは既存のファイル、ディレクトリ、またはデバイスの名前であるため、ディレクトリが作成されませんでした。

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

関連項目

ディレクトリ コントロール
_chdir, _wchdir
_rmdir, _wrmdir