做一个实时数据库的存储结构。
我用for(int i = 0; i < 6; i++)
{
Page_entry[i] = new BYTE[512 * 1024];
}
 在内存中分配了六个512k大小的页面,我现在想往这块区域里写入纪录!
    Machine{ int number;
             bool status;
             ..........
            }         记录依次逐条存放下去
  
苦死我了~~~~~~~~~  vc菜鸟

解决方案 »

  1.   

    1.可以用结构;
    struct _temp{BYTE b[512 * 1024]}temp[6];写时:
    temp[0].b;
    temp[1].b
    ……
    2.用BYTE[][]也可
      

  2.   

    加一
    Page_entry = new BYTE *[6];
    for(int i = 0; i < 6; i++)
    {
    Page_entry[i] = new BYTE[512 * 1024];
    }
    Page_entry[1][*++]
    Page_entry[2][*++]
    ....
      

  3.   

    我觉得这样固定分配很有局限。比如这块区域的平均使用率比较少,就浪费了许多空间,如果空间不够又怎么办?如果有一个索引,又怎么办?怎么能快速定位一条记录?我觉得你可以把记录包装成一个类。然后使用STL中的容器来完成你的工作。
      

  4.   

    可以借助SQL SERVER的物理结构,参见SQL SERVER联机丛书关于SQL物理数据库构架部分,有所帮助