全くコードの書き方が分からないので質問させて下さい。
C++ VS2005

略)
printf("Got: %02x%02x%02x%02x%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4]);

※
buf[0]には01
buf[1]には06
buf[2]には17
buf[3]にはf3
buf[4]には34
が入る。

を文字列"0106171f34"に置き換えたい。

1.このbuf[]の中(16進数)を文字列に変換したい。

2.文字列に変換した後に、buf[0]〜buf[5]を繋げたい。

sprintとかを使えば良いみたいなのですが、どのようにやってよいか分からずに困っています。
どうかよろしくお願いします。