Dev/42Seoul

    open, read, close 함수 정리

    open 헤더 : fcntl.h open은 두 가지 형태의 시스템 콜을 가지고 있다. 형태는 아래와 같다. 참고로 rush 및 bsq에서는 첫 번째 시스템 콜을 이용할 것이다. int open(const char *pathname, int flags); int open(const char *pathname, int flag, mode_t mode); pathname 파일의 경로와 이름으로, 절대경로의 파일명과 상대경로의 파일명 모두 허용된다. rush와 bsq에서는 간단하게 파일명으로 지정하고 읽고자 하는 파일을 Makefile과 같은 경로에 두면 된다. flags 파일을 어떻게 열지를 결정하는 플래그로서, 읽기 전용으로 열 때는 O_RDONLY, 쓰기 전용으로 열 때는 O_WRONLY, 읽기 쓰기로 열..

    구조체 정리

    1. 구조체 목적 구조체는 관련 정보를 하나의 의미로 묶을 때 사용한다. 2. 구조체 사용 방법 (기본) (1) 구조체 정의 및 변수 선언 구조체는 아래처럼 struct 키워드로 정의한다. struct [구조체이름] { 자료형 멤버이름1; 자료형 멤버이름2; ... }; ////////////////////// 예시 //////////////////////// struct member {// 구조체 이름 : member charnumber[20];// 구조체 멤버 1 charname[20];// 구조체 멤버 2 intage;// 구조체 멤버 3 }; 위처럼 정의한 구조체는 이후 int나 char형, unsigned int 등의 자료형처럼 struct [구조체이름] 형태로 자료형 자리에 붙여준다. 구조체를..

    헤더 파일 관련 정리

    헤더 파일 관련 정리

    1. #ifndef, #define, #endif 임의로 만든 헤더파일 안에는 항상 아래와 같은 형식으로 내용을 처리하여 준다. 하나의 헤더 파일만 사용한다면 크게 의미가 없겠으나, 다수의 헤더 파일을 작성하고 헤더 파일이 헤더 파일을 include하게 될 경우가 분명 생긴다. 이 경우, 아래와 같이 중복 방지 처리를 해주지 않는다면 언젠가 꼬여버려서 하나의 C파일 혹은 헤더 파일이 동일한 헤더 파일을 2번 이상 include하게 되는 경우가 생길 수 있다. 그렇게 된다면 컴파일 에러가 뜨니 중복 방지 처리에 습관을 들여주자. 헤더 파일 이름은 hello.h라고 가정한다면, hello.h의 내용은 아래와 같다. #ifndef HELLO_H # define HELLO_H (내용) #endif (1) #if..