首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中动态开辟的结构体数组,怎么用fwrite写入到文件中的有关问题

2012-12-31 
C++中动态开辟的结构体数组,如何用fwrite写入到文件中的问题结构体定义如下:typedef struct {BYTE bBYTE

C++中动态开辟的结构体数组,如何用fwrite写入到文件中的问题
结构体定义如下:
typedef struct 
{
              BYTE b;
              BYTE g;
              BYTE r;
}dotRGB; // 定义位图每个点的b,g,r

动态定义二维结构体如下(col和row代表行和列):
dotRGB **RED;  
RED=new dotRGB*[col];
for(int i=0;i<col;i++)
RED[i]=new dotRGB[row];

最后用fwrite输出的二维结构体的时候,格式如下所示 fwrite(RED,sizeof(dotRGB),col*row,fp);
数据无法写入,感觉是第一个参数的问题,但是不知道怎么修改
[解决办法]

引用:
结构体定义如下:
typedef struct 
{
              BYTE b;
              BYTE g;
              BYTE r;
}dotRGB; // 定义位图每个点的b,g,r

动态定义二维结构体如下(col和row代表行和列):
dotRGB **RED;  
RED=new dotRGB……


RED为const void * _Str;

可以&RED
[解决办法]
RED并不是你这个二维数组的首地址
应该是
for(int i=0;i<col;i++)
    fwrite(RED[i],sizeof(dotRGB),row,fp);

热点排行