格式化输出十六进制数
linux fedora 14
eclipse
void PrintfComm(U8 iLen,U8 *pData,bool bSend)
{
U8 ii,iVal;
struct tim *pTm;
long iTs;
using namespace std;
if(bSend)
cout <<"send";
else
cout <<"receive";
iTs=time(NULL);
pTm=localtime(&iTs);
cout<<pTm->tm_mon<<"-"<<pTm->tm_mday<<endl;
for(ii=0;ii<iLen;ii++)
{
cout<<std::hex<<pData[ii]<<""<<ednl;
}
cout <<endl;
}
pData[]={0x68,0x18,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x00};
输出结果是
h 其他看不见
我想把pData的内容用16进制显示出来 错在哪儿
eclipse
void PrintfComm(U8 iLen,U8 *pData,bool bSend)
{
U8 ii,iVal;
struct tim *pTm;
long iTs;
using namespace std;
if(bSend)
cout <<"send";
else
cout <<"receive";
iTs=time(NULL);
pTm=localtime(&iTs);
cout<<pTm->tm_mon<<"-"<<pTm->tm_mday<<endl;
for(ii=0;ii<iLen;ii++)
{
cout<<std::hex<<pData[ii]<<""<<ednl;
}
cout <<endl;
}
pData[]={0x68,0x18,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x00};
输出结果是
h 其他看不见
我想把pData的内容用16进制显示出来 错在哪儿
作者: tottili 发布时间: 2011-04-06
试试
cout<<std::hex<<(int)pData[ii]<<""<<endl;
cout<<std::hex<<(int)pData[ii]<<""<<endl;
作者: justkk 发布时间: 2011-04-06