我需要在我的应用程序中使用 boost::iostreams::file_descriptor::handle_type。我尝试使用以下代码读取文件,但它一直在 while 循环中循环(in.readsome() 返回 0 )。
using namespace boost::iostreams;
file_descriptor_source source( "data.bin", never_close_handle);
stream_buffer<file_descriptor_source> stream(source);
std::istream in(&stream);
char buffer[1025];
memset(buffer, 0, sizeof(buffer));
while ( !in.eof() )
{
streamsize read = in.readsome(&buffer[0], sizeof(buffer) - 1);
}