C_C++/C_라이브러리_함수
(C언어) creat: 새 파일 생성하거나 기존 파일을 덮어쓴다
고니자니
2023. 2. 2. 13:35
반응형
#creat
#include <sys/stat/h> int creat(const char *path, int amode); |
creat 함수는 path로 지정된 파일을 새로 생성하거나 이미 존재하는 파일은 다시 쓰기 위해 준비합니다.
creat에 의해 작성되는 파일은 전역변수 _fmode에 의해 지정되는 변환모드(O_TEXT, O_BINARY)에서 작성됩니다.
파일이 이미 존재하고 쓰기가 가능한 파일은 크기 0으로 다시 작성되고, 파일 속성을 변하지 않습니다.
만약, 기존 파일이 읽기 전용 속성일 경우에는 creat 함수는 실패하며 파일의 크기는 변하지 않습니다.
이 함수는 파일 작성에 성공하면 handle을 반환하고, 실패하면 -1을 반환합니다.
인수 amode는 다음 중 하나의 값입니다 - <sys/stat.h> 헤더에 정의되어 있습니다.
amode 값 | 설명 |
S_IWRITE | 쓰기 |
S_IREAD | 읽기 |
S_IREAD | S_IWRITE | 읽기와 쓰기 |
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
int main(void)
{
int handle;
char buffer[] = "Hello, C language.";
// 기본 텍스트 모드를 이진모드로 변경합니다.
_fmode = O_BINARY;
// 읽기와 쓰기가 가능한 파일을 생성합니다.
handle = creat("test.bin", S_IREAD | S_IWRITE);
// 파일에 buffer의 내용을 씁니다.
write(handle, buffer, strlen(buffer));
close(handle);
return 0;
}
비주얼스튜디오에서는 다음 한 줄을 코드의 맨 위에 삽입해야 합니다.
#define _CRT_SECURE_NO_WARNINGS // Visual Studio
반응형