Superkkt Blog

printf 출력 포맷 제어

2006/06/08 10:17

printf 함수는 %d, %s, %x 등을 사용해서 여러 타입의 데이터를 받을 수 있다. 그리고 각종 제어 문자를 통해서 출력을 원하는 형식으로 포멧팅 할 수 있는데 이게 막상 쓰려면 기억이 잘 안난다. 어떤 책에서 봤는지도 생각이 안나고 인터넷 뒤지면 %d, %s, %x 등에 관한 내용만 쏟아져 나오고.. 그래서 필요한 포멧팅 옵션을 사용할때마다 여기에 정리를 해본다.


1. 알파벳 출력을 대문자로 하고 자리수를 지정해서 빈칸은 0으로 채운다.

이 기능은 MAC Address를 출력할때 사용했던 기능이다. MAC 주소는 보통 아래와 같이 출력을 한다.

00:14:22:22:8A:86

하지만 ioctl을 사용해서 얻어온 MAC 값을 그대로 출력하면 아래와 같이 출력된다.

0:14:22:22:8a:86

이때 %02X 포맷팅 옵션을 사용하면 원하는 결과를 얻을 수 있다. 첫번째 0은 빈칸은 0으로 채우라는 것이고, 두번째 2는 자리수가 두칸이라는 것이다. 마지막 X는 값을 16진수로 표현하는것인데 대문자 X를 사용해야만 알파벳이 대문자로 표현된다.

sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", ip[0] & 0xff, ip[1] & 0xff, ip[2] & 0xff, ip[3] & 0xff, ip[4] & 0xff, ip[5] & 0xff);
2006/06/08 10:17 2006/06/08 10:17

trackbacks

trackbacks rss

이 글에는 트랙백을 보낼 수 없습니다

Leave a Comment