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 に答える