如何在c ++中打印tchar

时间:2012-12-13 08:08:35

标签: c++

我正在尝试在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]);

2 个答案:

答案 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。

相关问题