急问memset设立一块内存区域,要求不按字节,按三字节RGB的方式

急问memset设置一块内存区域,要求不按字节,按三字节RGB的方式
如题,

现有memset只能按字节拷贝内存,现需要按三字节拷贝有好的思路没?

急!!

------解决方案--------------------
RGB3字节不好办,RGBA4字节还凑合。参考下面:
#include <stdio.h>
float data[500];
int i;
void main() {
    for (i=0;i<500;i++) {data[i]=1.0f;printf("%g\n",data[i]);}
    __asm {
        push ecx
        push edi
        mov ecx,500
        mov eax,0xBF800000 //-1.0f
        lea edi,data
        rep stosd
        pop edi
        pop ecx
    }
    for (i=0;i<500;i++) printf("%g\n",data[i]);
}

------解决方案--------------------
	struct rgb
{
unsigned char r;
unsigned char g;
unsigned char b;
};

rgb v = {1, 2, 3};
char buf[81];
char (*p)[3] = (char(*)[3])buf;
for(; p < (char(*)[3])(buf + sizeof(buf)); ++p)
{
(*p)[0] = v.r;
(*p)[1] = v.g;
(*p)[2] = v.b;
}

------解决方案--------------------
struct RGB
{
BYTE R;
BYTE G;
BYTE B;
};

void RGBSet(RGB *pRGBDest,DWORD dw0BGR,int iCount)
{
int i;
DWORD dwRBGR,dwGRBG,dwBGRB;

dwRBGR=dw0BGR
------解决方案--------------------
(dw0BGR<<24);
dwGRBG=(dw0BGR>>8)
------解决方案--------------------
(dw0BGR<<16);
dwBGRB=(dw0BGR<<8)
------解决方案--------------------
(dw0BGR>>16);