用于将6.32 GB文件一次读入数组的功能。 ReadFile函数仅限于DWORD。
DWORD bytes_to_read, bytes_read;
ReadFile(handle, src, bytes_to_read, &bytes_read, nullptr);
CloseHandle(handle);
答案 0 :(得分:1)
对于您的第一次传递而未进行优化,我建议您使用std::vector
和std::ifstream
。
二进制数据:
std::ifstream input_data("my_file.dat" | ios::binary);
std::vector<DataType> data_from_file(DATA_ITEMS_TO_READ);
input_data.read((char *) data_from_file.begin(),
sizeof(Data_Type) * DATA_ITEMS_TO_READ);
对于文字数据:
std::ifstream input_data("my_file.txt");
std::vector<DataType> data_from_file;
Data_Type datum;
while (input_data >> datum)
{
data_from_file.push_back(datum);
}
其中DataType
是数据的类型,例如int
,char
,DWORD
。
如果输入太慢,可以进行优化。在优化文件读取之前,让项目的其余部分稳健可靠地工作。