如题,char*中有这种结构的数据255,0,255或者是#112233.逗号前后可能有空格.
我打算这么做:
COLORREF tocolor(char *a)
{
BYTE R,G,B;
DWORD dwClr;
COLORREF clr;
int nRet = sscanf(a,"%d,%d,%d",R,G,B);
if(nRet != 3)
{
nRet = sscanf(a,"%d",dwclr);
if(nRet != 1);
return 0;//失败
clr = RGB(GetRValue(dwclr),GetGValue(dwclr),GetBValue(dwclr));
return clr;
}
clr = RGB(R,G,B);
return clr;
}
这样可以吗?用sscanf从char*中取 BYTE用什么符号?好象不是%d,取DWORD用什么符号?
不用这种方法,还有什么好的办法吗?
我打算这么做:
COLORREF tocolor(char *a)
{
BYTE R,G,B;
DWORD dwClr;
COLORREF clr;
int nRet = sscanf(a,"%d,%d,%d",R,G,B);
if(nRet != 3)
{
nRet = sscanf(a,"%d",dwclr);
if(nRet != 1);
return 0;//失败
clr = RGB(GetRValue(dwclr),GetGValue(dwclr),GetBValue(dwclr));
return clr;
}
clr = RGB(R,G,B);
return clr;
}
这样可以吗?用sscanf从char*中取 BYTE用什么符号?好象不是%d,取DWORD用什么符号?
不用这种方法,还有什么好的办法吗?
sscanf(a,"%d",dwclr);两个变量都不一样