这可能是一个基本问题。我是 C++ 新手,我想实现一个可能不适合内存的巨大随机矩阵。所以我想也许我应该将它写入一个文件并在流中逐个元素地读取。
我要检查的是,如果元素小于阈值。如果是,则将元素(i,j)的索引压入一个stl向量中进行存储,如果否,则转到下一个元素。
基本上我需要几行将矩阵AJM
写入matrix.dat
,然后将其元素读取为:
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
currentElement = "read AJM[i][j] from matrix.txt";
}
}
所以“从matrix.txt读取AJM[i][j]”对我来说不是很清楚,我猜这是通过将文件指针迭代到i和j给出的某个特定位置来完成的,并指定要读取多少字节,对吧?
您能否向我展示 C++ 代码,以便matrix.dat
在知道其索引的情况下一个一个地写入和读取元素,这样我就可以避免将整个矩阵存储在内存中?
太感谢了!