我为我的输出使用 VTK 数据类型。由于我的数据变得越来越大,用 ASCII 写它需要相当长的时间,这就是我迄今为止一直在做的事情。
我需要将其更改为二进制格式,但问题是文件有一些标题(请参阅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 包本身......它的巨大并增加了我的代码依赖!