0

我正在尝试UCHAR btMACAddress[INTEL_MAC_ADDR_LENGTH]用 C++ 打印。

cout<<"adapter MAC address="<<padapter->btMACAddress<<endl;

上面显示 NULL

在 ci 中可以打印。

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]);
4

2 回答 2

1

正如 Joachim 指出的,您可以使用流操纵器来控制打印值的格式。

所需的头文件:

#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;
于 2012-12-13T08:24:55.213 回答
0
for (int i = 0; i < 6; ++i)
{
     cout << pAdapter->adapter[0].btMACAddress[i];
}
cout << endl;

这也与打印字节无关,但与您无法正确使用 cout 无关。

于 2012-12-13T08:25:40.177 回答