Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • Linux
  • C++
  • 우테코
  • 우테코 체스
  • 우아한테크코스
  • BOJ
  • 블랙잭
  • C
  • 데이터 조작어
  • SIGINT
  • DB
  • 우아한테크코스5기
  • Spring
  • signal
  • 우아한형제들
  • 정규화
  • bean
  • 리눅스
  • Operating System
  • 운영체제
  • 우테코5기
  • 프로세스
  • 인덱스
  • 자바
  • 1259
  • 원시값 포장
  • OS
  • 백준
  • 트랜잭션
  • OperatingSystem

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

C / Linux  open() 함수
C & LINUX

C / Linux open() 함수

2022. 5. 1. 14:41

함수 기능

파일을 오픈하거나 생성할 때 사용하는 system call

함수 원형

#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open(const char *pathname, int oflag, mode_t mode)

함수 파라메터

pathname

파일의 경로

 

oflag

(필수)

O_RDONLY - 읽기모드

O_WRONLY - 작성모드

O_RDWR - 읽기/작성 모드

(선택)

O_APPEND - 파일 작성시 기존 파일의 마지막 부분부터 이어 작성

O_CREAT - 파일 생성

O_EXCL(exclusive) - O_CREAT와 함께 사용하며 만약 파일이 존재한다면 에러리턴

O_TRUNC - 파일이 있으면 파일 초기화하며 OPEN

 

mode_t mode

O_CREAT 사용시 사용해아하는 옵션이다. 파일의 권한을 설정해줄수 있다.

EX) 0666,0777

이 외에도 S_IRWXU, S_IRWXG, S_IRWXO등의 명령어가 있다.

함수 예제

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

int main(void){
    char *fname = "ssu_test.txt";
    int fd;

    if((fd = open(fname,O_RDONLY))<0){
        fprintf(stderr,"open error for %s\n",fname);
        exit(1);
    }
    else
        printf("Success!\nFilename : %s\nDescriptor : %d\n",fname,fd);

    exit(0);
}

함수 결과

 

리눅스시스템 프로그래밍 V1.0 - 홍지만 저

교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

'C & LINUX' 카테고리의 다른 글

C / LINUX read()  (0) 2022.05.01
C / LINUX lseek()  (0) 2022.05.01
C / LINUX creat()  (0) 2022.05.01
C / LINUX fclose() fcloseall()  (0) 2022.05.01
C / LINUX fopen() freopen() fdopen()  (0) 2022.05.01
    'C & LINUX' 카테고리의 다른 글
    • C / LINUX lseek()
    • C / LINUX creat()
    • C / LINUX fclose() fcloseall()
    • C / LINUX fopen() freopen() fdopen()
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바