c语言中无符号字符输出,在C语言中将结构类型转换为无符号字符*。++

我的程序中有下面的结构。

typedef unsigned char BYTE;

struct data

{

BYTE a;

BYTE b;

BYTE c;

};

有些台词晚了…..我创建结构的一个实例

data buffer[100][100];

在程序的后面,我必须将“buffer”实例类型转换为char*以便被另一个函数使用。

int bmp_generator(char *filename, int width, int height, BYTE* data)

{

BITMAPFILEHEADER bmp_head;

BITMAPINFOHEADER bmp_info;

int size=width*height*3;

bmp_head.bfType=0x4D42;

bmp_head.bfSize=size + sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);

bmp_head.bfReserved1=bmp_head.bfReserved2=0;

bmp_head.bfOffBits=bmp_head.bfSize-size;

bmp_info.biSize=40;

bmp_info.biWidth=width;

bmp_info.biHeight=height;

bmp_info.biPlanes=1;

bmp_info.biBitCount=24;// bits per pixel

bmp_info.biCompress=0;

bmp_info.biSizeImage=size;

bmp_info.biXPelsPerMeter=0;

bmp_info.biYPelsPerMeter=0;

bmp_info.biClrUsed=0;

bmp_info.biClrImportant=0;

FILE *fp;

if (!(fp=fopen(filename,"wb"))) return 0;

fwrite(&bmp_head,1, sizeof(BITMAPFILEHEADER), fp);

fwrite(&bmp_info,1,sizeof(BITMAPINFOHEADER), fp);

fwrite (data, 1, size, fp);

fclose(fp);

return 1;

}

[后面几行]

bmp_generator("./test.bmp", 512, 512, (BYTE*)buffer);

但是,当我运行上面的代码时,gcc编译器会给我一个警告

“警告:已弃用从字符串常量到–char*–wwrite strings]的转换”

有人能帮我解决这个问题吗?提前谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值