标准模板库(STL)为从流中读取数据以及向流写入数据提供了一种简单的方法,这种方法用到了运算符<< 和>>。然而,读取/写入的数据被当着文本来处理了:
一般情况下,这种处理方法并不会带来什么问题。但是,在处理二进制文件的情况下,你可能希望按二进制的方式进行读写。你可以这样写代码:
为了简化代码,你可以建立一个
as_binary函数,并把你希望读写的数据看成(wrap)二进制数据。你可以像这样使用该函数:
按二进制读写的方式只能适用于‘生’结构(raw structure,即只有数据而没有任何顺序(methods)的结构)。即使在‘生’结构中,也需要确保其中的数据也是未经处理的,如下所示: