일반적인 함수에 매개변수를 쓸 때는 개수가 정해져있다. 예를 하나 들면 문자열의 길이를 재는 strlen의 같은 경우에는 매개변수가 하나로 고정되어 있다. 그런데 이런 가정을 해보자. 어떤 경우에는 매개변수를 하나만 쓰고 싶고, 또다른 경우에는 여러개를 쓰고 싶다고
type%d : 부호 있는 10진수 정수(2byte)%o : 부호 없는 8진수 정수(2byte)%x : 부호 없는 16진수 정수(2byte)%u : 부호 없는 10진수 정수(2byte)%c : 단일 바이트 문자(1byte)%s : 문자열(포인터 크기만큼 byte)%f
본격적으로 ft_printf를 만들어보자. 내가 처음으로 생각했던 메커니즘은 다음과 같다. 처음 노베이스에서 생각한 부분이라 많이 부족하다. main에서 ftprintf("...", a, b, c);와 같이 함수를 받으면 ftprintf에서 메인에서 인자를 잘 받아왔
2일차 때 ft_printf를 구현하기 위해서 구조체 변수를 사용해야 한다는 것을 알았다.(형식지정자를 받기 위해)그럼 오늘은 예제를 하나 들어보면서 ft_printf가 어떻게 구현되야 할지 자세히 생각해보자그러면 메커니즘은 다음과 같다아 그리고 printf에 관한 옵
고민된 부분 어제 학습한 것을 기반으로 코딩을 하다가 고민에 빠졌다. 형식지정자에서 우선 flag의 유효성을 알아보기 위해 위와 같이 코딩을 했다. 여기서 고민된 부분 먼저 flag가 유효하면 해당 옵션을 먼저 수행하고 서식지정자에 맞는 인자를 출력하려고 했다. 근데
ft_isnum() 4일차에 isnum에 관해 ftstrdup()와 ft_strjoin()함수를 이용해서 width와 precision을 판단할 때 숫자를 넘기는 함수를 만들려고 했다. 그런데 더 간단하게 할 수 있을 듯 해서 res 정수형 변수를 만든다음 계속 해당
그동안 문제점 클러스터에서 GNL 평가를 받으면서 ft_printf()에 대해서 조언을 구했다. 그래서 내가 내린 결론은 갈아엎어야 할 것 같다. 그렇다고 완전히 엎는건 아니고 천천히 해보려고 한다. 지금까지 내가 코딩을 짰던 문제점은 전체를 한번에 짜려고 했던것이다.
다시 갈아엎었다. 이 전까지는 char \*str이라는 변수에 malloc을 이용하여 출력할 문자열의 크기에 맞게 배열을 만든 후 하나하나 채워넣는 식으로 했었는데... 도저히 옵션이 많아지자 다 구현하기가 어려워져서 새로운 방법으로 구현하였다. 수정한 부분 기존은 배
%옵션에서는 0옵션이 먹힌다.\---> 000%0옵션과 -옵션이 같이 있으면 0은 공백으로 출력\---> % !!\- 옵션과 0옵션이 같이 있을 경우 0옵션은 무시\---> 4 !!