关于函数IsDBCSLeadByte的问题
yyfzy 2006-07-28 01:44:20 我在GDI里使用TextOut输出文本字符,因为要自动换行,所以要对字符判断是否是汉字,因为汉字占两个字节,不能从中间换行,这样会出现乱码。我使用函数IsDBCSLeadByte来判断一个字节是否是双字节字符的第一个字节,可是不管是汉字的第一个字节还是第二个字节,该函数都返回TRUE,例如:
BYTE szTest[] = "国家";
BOOL bRest = FALSE;
bRest = IsDBCSLeadByte(szTest[0]);
bRest = IsDBCSLeadByte(szTest[1]);
bRest = IsDBCSLeadByte(szTest[2]);
bRest = IsDBCSLeadByte(szTest[3]);
以上4行代码均返回TRUE,按理说应该bRest = IsDBCSLeadByte(szTest[0]);和bRest = IsDBCSLeadByte(szTest[2]);返回TRUE,而bRest = IsDBCSLeadByte(szTest[1]);和bRest = IsDBCSLeadByte(szTest[3]);返回FALSE才对。
请指教,谢谢!