我使用VTK数据类型来处理输出。由于我的数据越来越大,用ASCII编写它需要相当长的时间,这就是我迄今为止所做的。如何将ASCII和BINARY数据同时写入同一个文件
我需要将其更改为二进制格式,但问题是该文件有一些标题(请参阅http://www.vtk.org/VTK/img/file-formats.pdf),即使对于二进制文件,也需要使用ASCII编写该标题。
现在我没有与二进制格式足够的经验和我的第一次尝试是通过
ofstream asciiWriter(file_name.c_str());
ofstream binWriter(file_name.c_str(), ios::app | ios::binary);
问题打开两个流是输出似乎杂乱无章,asciiWriter
和binWriter
在正确不输出顺序,所以我不能在ParaView中后处理我的文件。我试过的一件事是每当完成头文件/数据写入时使用asciiWriter.flush()
和binWriter.flush()
,但这也没有帮助。
我该怎么办?
PS:我不想使用VTK包本身......它的巨大并增加了我的代码依赖性!
ASCII *是* binary。什么是问题? –
我阅读了链接到的PDF文件的一部分,我发现问题出在哪里,是的。它们的确如同ASCII是不同于二进制的。但是不要让他们欺骗你,只需要使用一个作者('ios :: binary')就可以了。 –
@MrLister非常感谢。我很困惑,认为它们本质上是两个不同的东西。 – GradGuy