格式化输出十六进制数

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进制显示出来 错在哪儿

作者: tottili   发布时间: 2011-04-06

试试
cout<<std::hex<<(int)pData[ii]<<""<<endl;

作者: justkk   发布时间: 2011-04-06