读书人

C++中动态开辟的结构体数组怎么用fw

发布时间: 2012-12-31 11:57:51 作者: rapoo

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);

读书人网 >C++

热点推荐