_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 );
}
}