0

最初は私の英語で申し訳ありません:)だから、私は構造体と変数を持っています

typedef struct
{
  GHEADER  m_Header;
  BYTE    *m_Buf;
  Addr    *m_Abonent;
}__attribute__((packed)) PACKET;

unsigned char* uc_ptr;

関数 unsigned char ポインター引数に送信する必要があります。への型へreinterpret_castのポインタをキャストするために使用しようとしました。PACKETunsigned char*

PACKET* t_PACKET;
uc_ptr = reinterpret_cast<unsigned char*>(t_PACKET);

しかし、私は試しました

std::cout << *uc_ptr << std::endl;

何も見えません。なんで?そして、これを正しくキャストする方法は?

4

1 に答える 1

3

を使用<<して出力するcharと、出力に単一の文字が書き込まれます。などの多くの文字\0がコンソールに表示されません。

代わりにこれを試して、私が何を意味するかを確認してください。

std::cout << static_cast<unsigned int>(*uc_ptr) << std::endl;

構造内のすべてのバイトを取得するには、ループが必要です。

于 2012-11-28T20:28:33.447 に答える