1

我正在开发一个使用 C (StormLib) 编写的库的 C++ 应用程序。该库具有将文件读取到 a 的功能void* buffer(我猜是 a char[])。我想发送到另一个库进行处理。希望它可以用类似的东西来完成,boost::iostreams::stream_buffer或者boost::asio::streambuf将文件存储为通过任何需要的方法读取。

我试过简单地将一个 istream(有一个boost::asio::streambuf打开的)传递给函数,它在它试图执行时给了我一个 BADACCESS

memcpy((theFile),(myiStream),(full size of the file))

我基本上想要一种“比特袋”对象,可以轻松地移动到不同的方法以结构化方式转换数据,但我不知道应该如何实现它。

4

1 回答 1

0

在 C++ 中恢复数据后,您想如何处理这些数据?如果您只想要原始数据,那么您可以(例如)只创建 a std::vector<char>resize因此它足以容纳所有数据*,然后将指针传递给它的第一个元素。


*你如何确定“足够大”是一个不同的问题......

于 2012-12-31T13:00:21.840 回答