(C언어) open : 파일을 엽니다.

#포함하다
#포함하다
int open(const char *path, int access(, unsigned mode));

Open 함수는 경로로 지정된 파일을 엽니다.

주어진 액세스 인수에 따라 읽기 또는 쓰기 작업을 준비합니다.

access는 비트 OR 연산을 수행하며 다음 기호 상수를 사용할 수 있습니다.

이 리터럴은 헤더 파일에 있습니다.

정의됩니다.

O_RD만 읽다
오_잘못 쓰다
O_RDWR 읽고 쓰기
O_APPEND 첨가물
O_CREATE 파일이 존재하지 않으면 새 파일이 생성됩니다.

, 이미 존재하는 경우 효과 없음.
O_TRUNC 파일이 존재하는 경우 기존 파일의 길이 0~와 관련이 있다.
O_EXCL O_CREATE함께 사용, 파일이 이미 있으면 오류가 반환됩니다.

.
O_BINARY 바이너리 모드로 파일 열기.
O_TEXT 테스트 모드에서 파일 열기.

입장 싸움에서 O_CREATE 플래그를 사용하는 경우 헤더 파일에 정의된 다음 기호 상수에서: 열려 있는 기능으로 방법 인수를 제공해야 합니다.

.

S_IWRITE 쓰기 권한
S_IREAD 운영 허가 읽기
S_IREAD | S_IWRITE 읽기 및 쓰기 권한

반환 값

열려 있는 함수의 반환 값은.

작업이 성공한 경우 음수가 아닌 정수(파일 핸들)보고, 파일의 위기는 시작을 가리킬 것입니다.

오류가 발생했을 때 -하나보고, 글로벌 변수 오류 번호다음 중 하나로.

에노엔트 경로 또는 파일을 찾을 수 없음
엠파일 너무 많은 파일이 열려 있습니다.

EACCES 취업 허가 거부
AVACC 유효하지 않은 입장 암호

참조: 열기, 닫기, 읽기, 쓰기, lseek, _open, _close, _read, _write

#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <io.h>

int main()
{
	int handle;
	char s() = "Opens a file.";
	handle = open("open.txt", O_WRONLY);
	if (handle == -1)
	{
		perror("Error: ");
		return 1;
	}

	write(handle, s, strlen(s));
	close(handle);
	
	return 0;
}


(C언어) open : 파일을 엽니다. 1
열기: 파일 열기

반응형


Visual Studio에서는 _open, _write 및 _read 함수를 사용해야 합니다.

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <io.h>

int main()
{
	int handle;
	char s() = "Opens a file.";
	handle = _open("open.txt", O_CREAT | O_TEXT);
	if (handle == -1)
	{
		perror("Error: ");
		return 1;
	}

	_write(handle, s, strlen(s));
	_close(handle);
	
	return 0;
}