Как я могу преобразовать буфер char * в беззнаковый буфер

У меня есть этот код для сохранения изображения из буфера:

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

Таким образом, я сохраняю обложку, используя taglib.
«PictureFrame-> picture (). Data ()» является символом * буфера;

Я только что попытался отобразить обложку в окне gtk +. Но я получил ошибку — аргумент типа 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);

Ссылка на документацию gdk_pixbuf_loader

1

Решение

Когда ты в грязи, ты просто иметь испачкаться! Что-то вроде (юк!):

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]