我使用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.編輯 –