ft_printf %cspc처리

Mr.뉴트리아·2021년 1월 6일
0

42Seoul 삽질노트

목록 보기
9/10

type %,c,s는 처리가 그렇게 어렵지 않아, 넘어가도록 한다.

type P의 처리.

p옵션은 들어온 포인터 변수의 주소를 16진수로 변환시켜 보여주는 타입이다. 이를 처리하기 위해 매개변수로 받은 가변인자를 long long자료형으로 변환시켜 사용한다. 사실상 방법은 그렇게 어렵지 않다. 기존에 정수형 10진수를 16진수로 변형시키는 x옵션이 있는데, 자료형만 바꿔 그 똑같이 문자열을 처리해주면 된다.

int			ft_print_type_pointer(t_format *t_form, va_list *va)
{
	char		*str;
	long long	p;
	int			i;

	i = 0;
	ft_putstr_fd("0x",1);//앞에 기본적으로 붙는 문자
	str = ft_lltoh((long long)va_arg(*va, long long));
	while (i < 12)
	{
		ft_putchar_fd(str[i],1);
		i++;
	}
	free(str);
	return (14);//%p가 리턴하는 문자열은 0x + 12개의 16진수로 항상 14개이다.
}
profile
뉴트리아는 가시쥐과에 속하는 설치류의 일종이다. 오랫동안 뉴트리아과의 유일종으로 분류했지만, 현재는 가시쥐과에 포함시킨다. 늪너구리, 해리서 또는 코이푸라고도 한다. 뉴트리아는 스페인어로 수달을 의미하고, 출생지 남미에서는 이 종류를 코이푸라고 부른다.

0개의 댓글