如何打印指针指向的二进制内容?

时间:2014-03-10 10:34:22

标签: c pointers malloc printf

我有一个从malloc返回的指针。哪个指向分配大小的第一个字节。对于EX:

  void* p=malloc(34);

如何打印这34个字节中包含的二进制值。 ?

1 个答案:

答案 0 :(得分:1)

你可能想要这个:

int i ;
void* p=malloc(34);

for (i = 0; i < 34; i++)
{
  unsigned char c = ((char*)p)[i] ;
  printf ("%02x ", c) ;
}

它不以二进制(010011011)打印,而是以十六进制打印,但这可能是你想要的。

但正如评论中所述,您将获得垃圾值。