我正在尝试在c ++中打印UCHAR btMACAddress[INTEL_MAC_ADDR_LENGTH]
。
cout<<"adapter MAC address="<<padapter->btMACAddress<<endl;
IT显示为空的
我可以打印。
printf("adapter macaddress %02x:%02x:%02x:%02x:%02x:%02x \n",
pAdapter->adapter[0].btMACAddress[0],
pAdapter->adapter[0].btMACAddress[1],
pAdapter->adapter[0].btMACAddress[2],
pAdapter->adapter[0].btMACAddress[3],
pAdapter->adapter[0].btMACAddress[4],
pAdapter->adapter[0].btMACAddress[5]);
答案 0 :(得分:1)
正如Joachim指出的那样,您可以使用stream manipulators来控制打印值的格式。
必需的标题文件:
#include <ios>
#include <iomanip>
#include <iostream>
using namespace std;
打印MAC地址的代码:
cout << "adapter macaddress ";
for (int i=0; i<INTEL_MAC_ADDR_LENGTH; i++)
{
if (i > 0) cout << ':';
cout << hex << setw(2) << setfill('0')
<< (unsigned int) pAdapter->adapter[0].btMACAddress[i];
}
cout << endl;
答案 1 :(得分:0)
for (int i = 0; i < 6; ++i)
{
cout << pAdapter->adapter[0].btMACAddress[i];
}
cout << endl;
此外,这与打印字节无关,但无法正确使用cout。