だから私は自分のprintf関数を書いているので、stdarg.hとシステムコールwrite()を使っています。しかし、%pを関数に誤って挿入する方法がわかりません。%Xは同じ結果を生成しますか?
私は%xをそのように行いました:
'x': x=va_arg(argp,argp, unsigned int);
char *temp = convert(x,16);
write(1, temp, lengthOFtemp);
break;
char *convert(unsigned int, int)
{
static char buf[33];
char *ptr;
ptr=&buf[sizeof(buff)-1];
*ptr='\0';
do
{
*--ptr="0123456789abcdef"[num%base];
num/=base;
}while(num!=0);
return(ptr);
}