_creat, _wcreat

새 파일을 만듭니다._creat및 _wcreat 사용 되지. 사용 하 여 _sopen_s, _wsopen_s 대신 합니다.

int _creat( 
   const char *filename,
   int pmode 
);
int _wcreat( 
   const wchar_t *filename,
   int pmode 
);

매개 변수

  • filename
    새 파일의 이름입니다.

  • pmode
    사용 권한 설정 합니다.

반환 값

이러한 함수에 성공 하면 만든된 파일에 파일 설명자를 반환 합니다.그렇지 않으면 함수는-1을 반환 하 고 설정 errno 는 다음 표에 나와 있는 것 처럼.

errno 설정

설명

EACCES

filename기존 읽기 전용 파일을 지정 하거나 파일이 아니라 디렉터리를 지정 합니다.

EMFILE

없음 자세한 파일 설명자를 사용할 수 있습니다.

ENOENT

지정한 파일을 찾을 수 없습니다.

경우 filename 널에 설명 된 대로 이러한 함수가 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.실행을 계속 수 있으면 이러한 함수를 설정 errno 에 EINVAL 및-1을 반환 합니다.

이러한 기능 및 다른 반환 코드에 대 한 자세한 내용은 참조 하십시오. _doserrno, errno, _sys_errlist, 및 _sys_nerr.

설명

_creat 함수 새 파일을 만들고 엽니다 및 기존 잘립니다._wcreat와이드 문자 버전입니다 _creat. filename 인수를 _wcreat 와이드 문자 문자열입니다._wcreat및 _creat 그렇지을 동일 하 게 작동 합니다.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_tcreat

_creat

_creat

_wcreat

파일이 지정 된 경우 filename 존재 하지 않는 경우 새 파일의 권한 설정으로 만들어지고 쓰기용으로 열 수 있습니다.파일이 이미 있는 경우 쓰기 사용 권한 설정에 따라 허용 _creat 파일에 이전 내용을 파괴 길이 0 잘리고 쓰기에 열립니다.사용 권한 설정, pmode, 새로 만들어진된 파일에만 적용 됩니다.처음으로 닫은 후 새 파일이 지정 된 사용 권한 설정을 받습니다.정수 식 pmode 매니페스트 상수 중 하나 또는 모두를 포함 _S_IWRITE 및 _S_IREADsys\stat.h에 정의 된.두 상수를 지정 하는 경우 and로 조인 된 OR 연산자 (|).pmode 매개 변수는 다음 값 중 하나로 설정 되어 있습니다.

정의

_S_IWRITE

쓰기를 허용 합니다.

_S_IREAD

읽기를 허용 합니다.

_S_IREAD | _S_IWRITE

읽기 및 쓰기를 허용 합니다.

쓰기 권한을 지정 하지 않으면 파일이 읽기 전용입니다.항상 모든 파일을 읽을 수 있습니다. 쓰기 전용 권한을 부여할 수 없습니다.모드 _S_IWRITE 및 _S_IREAD| _S_IWRITE 다음은 동일 합니다.사용 하 여 연 파일 _creat 항상 호환 모드에서 열립니다 (참조 하십시오 _sopen)와 _SH_DENYNO.

_creat현재 파일 권한 마스크에 적용 됩니다. pmode 의 사용 권한을 설정 하기 전에 (볼 _umask)._creat주로 이전 라이브러리와의 호환성을 위해 제공 됩니다.호출을 _open 와 _O_CREAT 및 _O_TRUNC 에 oflag 매개 변수에 해당 하는 _creat 및 새 코드에 대 한 것이 좋습니다.

요구 사항

루틴

필수 헤더

선택적 헤더

_creat

<io.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

_wcreat

<io.h> 또는 <wchar.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_creat.c
// compile with: /W3
// This program uses _creat to create
// the file (or truncate the existing file)
// named data and open it for writing.

#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   int fh;

   fh = _creat( "data", _S_IREAD | _S_IWRITE ); // C4996
   // Note: _creat is deprecated; use _sopen_s instead
   if( fh == -1 )
      perror( "Couldn't create data file" );
   else
   {
      printf( "Created data file.\n" );
      _close( fh );
   }
}
  

참고 항목

참조

하위 수준 I/O

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask