.raw文件格式C++; 我想知道是否可以用C++生成原始文件格式。如果是,那么哪个类处理它?如果可能,请写下一个示例代码

.raw文件格式C++; 我想知道是否可以用C++生成原始文件格式。如果是,那么哪个类处理它?如果可能,请写下一个示例代码,c++,file,file-io,paraview,C++,File,File Io,Paraview,我有(X Y Z)格式的数据,它表示(X Y Z)和(X+1 Y+1 Z+1)之间的粒子数。我需要用图形表示这些数据,因此需要二进制格式的数据。所以想知道是否可以直接生成.raw文件格式?有很多关于原始图像文件的定义,这在很大程度上取决于上下文。最古老和最简单的定义是一个没有头的文件,像素值以二进制形式压缩,没有任何压缩。实现这一点是微不足道的,只要把每个像素作为红色、绿色、蓝色的左、右、右、上、下写3个代码>未签名的char < /Cl>值。 < P>一般,将二进制数据写入C++中的文件,您将

我有
(X Y Z)
格式的数据,它表示
(X Y Z)
(X+1 Y+1 Z+1)
之间的粒子数。我需要用图形表示这些数据,因此需要二进制格式的数据。所以想知道是否可以直接生成.raw文件格式?

有很多关于原始图像文件的定义,这在很大程度上取决于上下文。最古老和最简单的定义是一个没有头的文件,像素值以二进制形式压缩,没有任何压缩。实现这一点是微不足道的,只要把每个像素作为红色、绿色、蓝色的左、右、右、上、下写3个代码>未签名的char < /Cl>值。

< P>一般,将二进制数据写入C++中的文件,您将希望使用<代码>流:

#include <fstream.h>
...

{
   MyData myData = GetData();
   ofstream binaryFile ("file.raw", ios::out | ios::binary);
   binaryFile.write ((char*)&myData, sizeof (MyData));
   binaryFile.close();
}
#包括
...
{
MyData MyData=GetData();
流二进制文件(“file.raw”,ios::out | ios::binary);
binaryFile.write((char*)&myData,sizeof(myData));
binaryFile.close();
}

由您确定此应用程序使用的实际格式(如上例中的
数据
结构),然后将其写入文件。

.raw
文件通常是图像文件。所使用的“原始格式”是完全不同的,所以您可能希望在问题中强调这一点。你们有这种格式的确切规格吗?仅提及:ParaView支持从文件中读取原始统一直线数据。默认文件扩展名为.raw。用户指定维度和数据类型,阅读器计算标题大小,这有点模糊(至少对我来说是这样)。这是最大的问题。对于像我这样的新手来说,维基页面没有明确提到。不管怎样,我们最终还是得想办法out@Groo,这正好证明了我的观点,
.raw
完全依赖于上下文。嘿,格罗,这正是我想要的。非常感谢。