我使用unsigned short类型的向量在RAM中分配了一大块连续字节。保存大量的数字向量到硬盘驱动器
vector<unsigned short> testDump(204800000);
for(int k = 0; k<204800000; k++)
testDump[k] = 9; \\ This is different in my real program
现在我想将此矢量保存到我的硬盘驱动器。如何以及什么是最快的方式来做到这一点?数据的大小相当大(〜1/2 GB)。我试过如下:
ofstream outfile("allMyNumbers.txt", ios::out | ios::binary);
outfile.write(&testDump[0], testDump.size());
但我发现了以下错误:
cannot convert parameter 1 from 'unsigned short *' to 'const char *'
什么来完成我的任务,是用最快的方法来保存矢量文件的最快方法?
*的平台是Windows 7
这肯定要取决于您定位的平台。 –
内存映射文件可能适用于此,具体取决于平台。 – OSH
我的平台是Windows 7.编辑 –