char型变量的范围是-128~127,我想把我截取的字符串(字符串的定义为char *〕显示出来,但因为有很多字符为非显示字符,而且还有很多空字符(00)夹在中间,我想只有显示他们的16进制形式,如果截取函数中返回字符串指针是P,字符长度是L(注意:L!=strlen(p),因为字符串中间夹有00),我是这样写的:for(int i=0;i<L;i++)
{
   CString x("");
   x.Format("%x",*(p+i));
   OutputDebugString(_T(x));
}
现在问题是:
1.如果字符>0,显示正常,如70,7F等
2.如果字符=0,显示为0,如何让他为00;
3.如果字符<0,显示为ffffff80(-128对应),如何让他只显示80
4.不好意思,我不懂补码,请问-128和-1在内存中的形式是什么?-128是80还是FF