次の方法で共有


_mkdir、_wmkdir

更新 : 2007 年 11 月

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

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

.NET Framework の相当するアイテム

参照

参照

ディレクトリ制御

_chdir、_wchdir

_rmdir、_wrmdir