Mandatory part get_next_line.h #ifndef GET_NEXT_LINE_H # define GET_NEXT_LINE_H # include # include # ifndef BUFFER_SIZE # define BUFFER_SIZE 42 # endif char*ft_check_null(char *line); char*ft_strdup(char *string); char*ft_strjoin(char *s1, char *s2, int s2_len, int count); char*ft_strcat(char *buff, char *prev); char*ft_strchr(const char *s, int c); intft_strlen(const char *s); char*ft_substr(c..
42Seoul/get_next_line
운영체제마다 backup에 들어가는 것이 다르다. 운영체제마다 결과값이 다르게 나오는 것을 알 수 있었다. backup에 들어가는 값이 다르다는 것을 증명해야함. MAC 클러스터 abcdefgc hijklmna opqrstus BUFFER_SIZE가 4일 때 line 결과값 window 노트북 line 결과값 line결과값은 같게 나오지만 BUFFER_SIZE가 같더라도 backup에 들어가는 것은 다름.
정적 변수는 2가지가 있다 외부정적변수 내부정적변수 static변수는 프로그램이 시작 될 때 할당이 되고 프로그램이 끝날 때 없어짐. 초기화가 안 되어 있으면 0으로 초기화 해주게된다. 외부 정적 변수 외부 정적 변수 초기화 #include static int count; int main() { printf("%d", count); } static변수는 프로그램이 시작 될 때 할당이 되고 프로그램이 끝날 때 없어짐. 함수가 끝날 때 파괴되는 변수가 아니기에 함수가 끝나도 그 값을 기억하고 있을 수 있다. 전역으로 선언한 static 변수는 그 소스파일 내의 모든 함수에서 사용이 가능하다. 다른 소스 파일에서 사용하지 못함. 정보은닉(정보를 숨긴다) 효과가 있음. 결론 외부 정적 변수는 전역 변수라고 생각..
get_next_line 과제에서는 open, read, close에서 read만 허용을 하는 과제입니다. read만 공부하고는 과제에 임하기 어렵다. open, read, close를 전부 알아야한다. open 참고 사이트 헤더: fcntl.h 형태: int open (const char *FILENAME, int FLAGS[, mode_t MODE]) 인수 char *FILENAME 대상 파일 이름 int FLAGS 파일에 대한 열기 옵션 [, mode_t MODE] O_CREAT 옵션 사용에 의해 파일이 생성될 때 지정되는 파일 접근 권한 반환 int 0 < 파일 열기에 성공하면 파일 디스크립터의 양의 정수 값 반환 -1 == 실패 파일을 open할 때는 용도에 따라 읽기 전용, 쓰기 전용 또는 읽..
OPEN_MAX 파일 디스크립터는 최대값이 있다. 일반적으로 파일 디스크립터 값은 0 ~ OPEN_MAX 까지 둘 수 있으며, OPEN_MAX라는 매크로 값은 코드가 실행되는 환경 (플랫폼)에 따라 다르다. 이는 limits.h에서 확인 가능하다. 만일 윈도우 환경이라면 stdio.h의 FOPEN_MAX에서 확인할 수 있다. 우리가 bonus를 풀기 위해 컴퓨터에서 최대한 파일을 몇 개 열 수 있는 지를 알아야 OPEN_MAX 값을 알 수가 있다. 그 방법으로는 ulimit 명령어를 사용하면 된다. ulimit는 무엇인가? ulimit은 프로세스의 자원 한도를 설정하는 명령어 ulimit [옵션] 값 ( Centos , RHEL 기준) a : 모든 제한 사항을 보여줌. c : 최대 코어 파일 사이즈 d ..
파일 디스크립터(FD, File Descriptor) Unix OS에서 네트워크 소켓과 같은 파일이나 기타 입력/출력 리소스에 액세스 하는 데 사용되는 추상 표현이다. 즉, 시스템으로 부터 할당받은 파일이나 소켓을 대표하는 정수다. 파일을 대표하기 위해 시스템으로부터 할당 받은 음수가 아닌 0과 양수인 정수 값(Non-negative Integer) 프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스 유닉스 시스템에서 모든 것이 파일이다. • 정규 파일(Regularfile), 디렉토리(Directory), 소켓(Socket), 파이프(PIPE), 블록 디바이스(Block Device), 캐릭터 디바이스(Character Device) 등등 모든 객체들을 파일로써 관리된다 • 유닉스 시스템에서 프로..