以下代码将文件映射到内存并将数据读取到数组。如果我试图运行这个,我得到的不是预期的结果;它超出了某种记忆地址而不是数字。
using namespace boost::interprocess;
// Create the file mapping
file_mapping fm(path.c_str(), read_only);
// Map the file in memory
mapped_region region(fm, read_only);
// Get the address where the file has been mapped
//float * addr = (float *)region.get_address();
std::size_t elements = region.get_size() / sizeof(int);
int *s = (int *)region.get_address();
for(int i = 0; i < sizeof(s)/sizeof(int); i++)
cout << s[i] << endl;
文件必须采用何种格式,以及如何以
格式读取整数 13 45 76 87 45 66756 8765 456