ft_printf 형식지정자 xX처리.

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

42Seoul 삽질노트

목록 보기
10/10
post-thumbnail

printf에는 16진수를 출력하는 서식지정자x,X가 있다.(x는 출력시 소문자, X는 대문자)
이를 똑같이 처리하기 위해 itoh라는 함수를 따로 작성해야했다.

//unit은 서식지정자의 문자-23의 값. 어차피 x,X밖에 들어올 것이 없기 떄문에 거기서
//-23을 해주면 a또는 A가 나오게 된다.
char		*ft_itoh(unsigned int n, char unit)
{
	int		len;
	char	*c;

	len = ft_ulen(n, 16);//16진수로 변환할 숫자의 길이를 얻는 함수. 뒤에 붙는것은
  	//10진법, 8진법에서도 사용할 수 있도록 몇진법인지를 명시해놓도록 했다.
	c = (char *)ft_calloc(len + 1, 1);
	if (c == NULL)
		return (0);
	c[len] = '\0';
	len--;
	while (len >= 0)
	{
		if (n % 16 < 10)
			c[len] = '0' + n % 16;//0~9
		else
			c[len] = unit + ((n % 16) - 10);//a~f,A~F
		len--;
		n /= 16;
	}
	return (c);
}



잘 나오고 있다

profile
뉴트리아는 가시쥐과에 속하는 설치류의 일종이다. 오랫동안 뉴트리아과의 유일종으로 분류했지만, 현재는 가시쥐과에 포함시킨다. 늪너구리, 해리서 또는 코이푸라고도 한다. 뉴트리아는 스페인어로 수달을 의미하고, 출생지 남미에서는 이 종류를 코이푸라고 부른다.

0개의 댓글