如何将 char* 缓冲区转换为 unsigned char 缓冲区

How can I convert char* buffer to unsigned char buffer

我有这段代码可以从缓冲区保存图像:

   FILE * fout;      
  fopen_s(&fout, "output.jpg", "wb");
  fwrite(pictureFrame->picture().data(), pictureFrame->picture().size(), 1, fout);

通过这种方式,我使用 taglib 保存了封面。 "pictureFrame->picture().data()" 是 char* 缓冲区;

我刚刚尝试在 gtk+ 中显示封面艺术 window。但是我收到了错误 - char* 类型的参数与 "const guchar*" 类型的参数不兼容。

我知道,我必须将 char* 缓冲区转换为 unsigned char 缓冲区,但我不知道如何操作。有人可以帮助我吗?

pixbuf_loader = gdk_pixbuf_loader_new ();
gdk_pixbuf_loader_write (pixbuf_loader, pictureFrame->picture().data(), pictureFrame->picture().size(), NULL);

Link to gdk_pixbuf_loader documentation

当你身陷泥土时,你 不得不 变脏!像(yuk!):

fwrite(reinterpret_cast<unsigned char*>(pictureFrame->picture().data()), pictureFrame->picture().size(), 1, fout);