전체 글(79)
-
42 CURSUS / ft_printf_02
Printf_format_placeholder 까먹었을까봐 다시 적는 프엪의 형식 %[parameter][flags][width][.precision][length]type Parameter (optional) Parameter는 Posix 환경에서만 사용 가능하고 C99에서는 불가하다. 필드에 주어진 옵션 값을 통해 va_list에 직접 접근할 수 있다. // 예를 들어 다음과 같이 _num$를 통해 _num번째 값을 받아올 수 있다. printf("인자 순서 : %1$d, %2$d\n2번째 : %2$d \n1번째 : %1$d \n", 42, 4242); > 인자 순서 : 42, 4242 > 2번째 : 4242 > 1번째 : 42 Flags 다양한 필드 중 가장 앞에 나오는 flags는 출력의 전체 방..
2021.06.19 -
42 CURSUS / ft_printf_01(가변 인자와 매크로)
가변 인자란 무엇인가 ? printf의 프로토 타입을 보면, int printf(const char *format, ...);로 두 번째 인자가 생략 기호(ellipsis)인...라는 것을 알 수 있다. 앞의 문자열에 있는 형식의 갯수에 따라 인자의 갯수를 달리 받아야하기 때문에 가변 인자를 쓰며, 가변인자란 다음과 같다. 상황에 따라 원하는 만큼의 인자를 받아서 사용, 처리할 수 있게해주는 것이 가변 인자이다. 가변 인자(variable argument)는 헤더에 선언되어있으며, 필수 인자와 선택적 인자, 두 개를 요구한다. 선택적 인자인 가변 인자는 변수의 갯수가 정해져있지 않기 때문에 첫째로 필수 인자를 받은 후, 선택적 인자를 받게 되며, 선택적 인자의 뒤에는 다른 인자를 받을 수 없다. prin..
2021.06.18 -
42 CURSUS / GET_NEXT_LINE
GET_NEXT_LINE은 어떤 함수일까? GET_NEXT_LINE의 프로토 타입 //get_next_line int get_next_line(int fd, char **line); gnl()는 인자로 들어오는 fd(파일 디스크립터에서 개행 전까지 문자를 읽어서 함께 들어온 **line이라는 인자에 값을 담아주고, 결과값으로 한 줄을 읽어오는데에 성공했을 때 1을 리턴 파일의 끝(EOF)를 만났을 때 0을 리턴 읽어오는 데 실패했을 때 -1을 리턴한다. 즉 gnl 함수는 fd에서 임의의 버퍼 사이즈만큼의 값을 읽어와서, 지금까지 읽어온 값이 들어있는 **line 변수에 개행 전까지의 값을 저장해주는 함수이다. read() 함수와 파일 디스크립터 read() 함수의 프로토타입 ssize_t read(int..
2021.06.16 -
42 cursus / ft_printf _00
Instructions C에서 printf는 유용하다 ! 가변 함수를 배우고 함수를 다시 확장 가능하게 잘 짜서 유용하게 쓰렴 메모리 해제, Norm 등은 너무 당연하니 생략 프로젝트에서 libft 사용이 허가된 경우, 해당 소스들과 연관된 Makefile을 libft 폴더에 Makefile과 함께 복사해 넣어두어야 합니다. 프로젝트의 Makefile은 반드시 libft의 Makefile을 사용하여 컴파일한 다음, 프로젝트 소스를 컴파일해야만 합니다.(libft.a를 넣어야 하는지, libft 파일들을 printf에 넣어야하는지 헷갈렸는데, printf가 master, libft가 slave로.. printf의 Makefile이 libft의 Makefile을 돌려야 하나 보당 Mandantory Prog..
2021.06.16 -
Ruby on Rails / rails에 postgresql 심기
레일즈는 기본적으로 sqlite3을 탑재하고있다. 하지만, 그것은 너무 똥인것 문제에서도 글코 데이터베이스를 postgresql로 바꾸라고하여 바꾸어보도록 하겠다 먼저 $ brew install postgresql $ gem install pg 를 통해 설치해준다. 그리고 Gemfile에 $ gem 'pg', '~> 1.2', '>= 1.2.3' 적어주고 $ bundle install; 그리고 /config/database.yml에 들어가서 &default 값을 default: &default adapter: postgresql encoding: unicode pool: 5 development:
2021.06.05 -
42 CURSUS / NETWHAT
코딩은 정답이 없지만, 이론은 정답이 있다. 정석대로 공부 ㄱ what is? Netwhat will allow you to discover the network and to learn about its inner workings. This will allow you to understand how some things work that you already use in your everyday life. >> Netwhat은 네트워크를 발견하고 내부 작동 원리를 알 수 있게 해 주고, 그로 인해 이미 매일 사용되고 있는 것들을 이해하게 해 준다고 함. General instructions Netwhat is a multiple choice project. This project will evaluate..
2021.05.23 -
C / File Descriptor (파일 디스크립터)
파일 디스크립터란? 파일을 대표하기 위해 시스템에서 할당받은 음수가 아닌 (unsigned) 0 혹은 양수의 값 프로세스에서 열린 파일의 목록을 관리하기 위한 테이블의 인덱스 POSIX 환경에서 일반적인 정규(Regular)파일, 디렉토리(Directory), 소켓(Socket), 파이프(PIPE), 객체(Object)등은 전부 파일로 관리되며, 이들에 접근하기 위해 파일 디스크립터라는 개념을 통해 접근한다. 응용 프로세서가 파일을 열거나 생성, 수정하게 되면 정수로 된 파일 디스크럽터를 할당받게 되는데, 이 부분에서 할당받은 파일 디스크럽터는 이후에 일어나는 모든 read(읽기), write(쓰기), fcntl(제어), cloese(종료)에서 해당 파일을 가리키는 인덱스로 사용되게 된다. 기본 할당 파..
2021.05.16