2015-12-04 268 views
1

我有這段代碼保存從緩衝圖像:我如何轉換的char *緩衝區爲unsigned char緩衝區

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

這樣,我使用標籤庫保存封面。 「pictureFrame-> picture()。data()」是char *緩衝區;

我剛剛嘗試在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); 

Link to gdk_pixbuf_loader documentation

+4

'reinterpret_cast'。或者你可以複製整個事情,但這是非常不必要的低效率。 –

回答

1

當你在灰塵就下來,你只變髒! (yuk!):

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

非常感謝! :) – tangor