以下の関数は0~15のintをcharの0~9,A~Fにして出力させようとしたのですよ。
inttochar16(int)にint型の0~15を入れた場合はちゃんとcharの0~9,A~Fが返ってくるのですが
ポインタで回そうとすると失敗します。ボスケテ。

#include <iostream.h>
char inttochar16(int i,int intDefault){//intの0~15をcharの0~9,A~Fに変換します。
if((i<10)&&(i>-1)){
return i+48;
}else if((i<16)&&(i>9)){
return i+55;
}else{
return intDefault;
}
}//END inttochar16

int main(void){
int i[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int *pi;
pi = &i[0];
while(*pi){
cout << inttochar16(*pi,36) << "\n";
pi++;
}
return 0;
}