다음을 통해 공유


_mkdir, _wmkdir

새 디렉터리를 만듭니다.

구문


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

매개 변수

dirname
새 디렉터리에 대한 경로입니다.

반환 값

이러한 각 함수는 새 디렉터리가 만들어진 경우 0을 반환합니다. 오류 발생시 함수는 -1을 반환하고 다음과 같이 설정합니다 errno .

EEXIST 디렉터리가 만들어 dirname 지지 않은 이유는 기존 파일, 디렉터리 또는 디바이스의 이름입니다.

ENOENT 경로를 찾을 수 없습니다.

이러한 코드 및 기타 반환 코드에 대한 자세한 내용은 , _doserrno_sys_nerr_sys_errlist를 참조하세요.errno

설명

함수는 _mkdir 지정된 dirname새 디렉터리를 만듭니다. _mkdir은 새 디렉터리를 호출당 하나만 만들 수 있으므로 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>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

라이브러리

모든 버전의 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