2012-05-02 26 views
0

的struture如何将动态分配的多维结构数组写入文件?

struct str 
{ 
    int a; 
    char b[20]; 
    int c; 
} 

声明

struct str ** str_array=0; 

分配和初始化(使用)

str_array= new struct str*[100]; 
for(int i=0;i<100;++i) 
    str_array[i]=new struct str[1000]; 

for(int i=0;i<100;++i) 
    for(int j=0;j<1000;++j; 
     str_array[i][j].a=j; 
     ..... 

现在我试图写入阵列的内容,如

for(int i=0;i<100;++i) 
    for(int j=0;j<1000;++j; 
    fwrite(str_array[i][j],sizeof(str),1,fname); 

问题

没有合适的转换,从海峡常量无效*存在

我打算用同样的风格来阅读。

+0

你有没有考虑过的boost ::序列化? – Scottymac

回答

2

变化:

fwrite(str_array[i][j],sizeof(str),1,fname); 

到:

fwrite(&str_array[i][j],sizeof(str),1,fname);