我正在研究一个iPad项目(iOS 5.1),该项目需要从url中获取图像并将它们作为sqlite3 blob进行缓存。我使用ASIHTTPRequest来获取图像数据,并使用SOCI将blob插入到缓存表中。该项目是用C++编写的(与最小的Objective-C混合)。如何将块unsigned char *内存转换为[signed] char *内存块?
问题是,ASIHTTPRequest通过NSData对象返回二进制数据...从中我可以获取一个const无符号字符*指针。但是SOCI的接口只提供了一个通过char *指针读/写blob数据的接口......(在从sqlite_blob打开/写入/读取之前,SOCI将数据写入char *缓冲区)。
那么,问题是,将我的无符号char *缓冲区转换为char *缓冲区一个可行的解决方案? ..如果是这样,我该怎么做? ..另外,还有什么其他选择来解决这个问题?
您将需要转换为'const char *'。 – Joe 2012-03-27 13:31:47
我使用reinterpret_cast ...但是,是的,同样的区别。谢谢。 – aleroy 2012-03-27 13:41:10