- libc의 printf 직접 구현하기
- 성공적인 ft_printf는 체계적이고 확장성있는 코드입니다.
- 사용 가능한 외부 함수
- malloc : void *malloc(size_t size); : size 바이트의 메모리를 힙에서 할당하여 반환
- free : void free(void *ptr); : ptr이 가르키는 메모리를 해제
- write : size_t write(int fd, const void *buf, size_t n); : open()함수로 연 파일에 쓸 수 있게 함
- va_start : **
- va_arg : **
- va_copy : **
- va_end : **
** 가변인자(variadic arguments)를 사용하는 방법을 배워봅시다.
> 가변인자 : 매번 함수에 들어가는 인수의 개수가 변하는 것
2022.01.16 - [42_san (42seoul)/ft_printf] - [ft_printf] 2. 가변인자 (variadic arguments)
[ft_printf] 2. 가변인자 (variadic arguments)
와....... 잘 보다가 수정인줄 알고 잘못눌러서 삭제했다......하.......... 이거뭐 이 억울함을 누구한테 말할 수도 없고............말도 안돼.......... 아니야아니야아니야니야나ㅣㅇ니ㅑㅇ니ㅏㅇ니ㅏ
rrddo.tistory.com
- ft_printf의 프로토타입 : int ft_printf(const char *, ---);
> 반환값자료형 함수이름(자료형 고정매개변수, --- );
- 실제 printf처럼 버퍼 관리를 수행해서는 안된다.
[ ft_printf ] 3. printf의 버퍼 관리 방법 (표준 입출력과 버퍼 | 스트림과 데이터 이동)
# 입력과 출력 + 입력 : 프로그램 안으로 데이터가 들어오는 것 ex) 키보드, 파일, 마우스 ... + 출력 : 프로그램 밖으로 데이터가 나가는 것 ex) 모니터, 파일, 프린터 ... # 스트림 + 스트림(stream) : 한
rrddo.tistory.com
- cspdiuxX%의 서식 지정자를 구현해라.
- %c : 단일 문자(character) 한 개 출력
- %s : 문자열(string)을 출력
- %p : void* 형식의 포인터 인자를 16진수로 출력
- %d : 10진수 숫자를 출력
- %i : 10진수 정수를 출력
- %u : 부호 없는 10진수 숫자를 출력
- %x : 소문자를 사용하여 숫자를 16진수로 출력
- %X : 대문자를 사용하여 숫자를 16진수로 출력
- %% : 퍼센트(%) 기호 출력
- man printf / man 3 stdarg 를 참고
2021.12.29 - [42_san (42seoul)/ft_printf] - [ ft_printf ] 1. printf
[ ft_printf ] 1. printf
# printf - C언어의 표준 출력 함수 - 여러 종류의 데이터를 각 서식에 맞게 출력할 수 있다. - 원형 # include int printf(const char *format, ...); > format에 쓰여진 데이터를 ...(서식지정자)의 형식으로..
rrddo.tistory.com
# 보너스 파트
- '-0.' 플래그들의 조합을 구현
- '# +' 다음 플래그를 모두 구현
'42seoul > circle-1' 카테고리의 다른 글
[ ft_printf ] 3. printf의 버퍼 관리 방법 (표준 입출력과 버퍼 | 스트림과 데이터 이동) (0) | 2022.01.15 |
---|---|
[ ft_printf ] 1. printf (0) | 2021.12.29 |
[ GNL ] 04. 선행지식_read() 함수 (0) | 2021.11.03 |
[ GNL ] 03. 선행지식_정적변수(Static) (0) | 2021.11.03 |
[ GNL ] 02. 선행지식_파일 디스크립터 (0) | 2021.10.31 |
댓글