如何使用C语言写一行汉字?如何实现中英文的显示?
贴出代码测试成功即可采纳答案~
目前我只实现了单个汉字的显示;代码如下:
// <summary>
/// 汉字显示行编码
/// </summary>行列编码
/// <param name="x0">左</param>
/// <param name="x1">右</param>
void print_line(char x0, char x1)
{
int i = 0;
char t[16];
char* p0 = (char*)&x0;
char* p1 = (char*)&x1;
for (int k = 7; k >= 0; k--)//打印行
{
if (*p0 & (1 << k)) t[i] = '*';
else t[i] = ' ';
if (*p1 & (1 << k)) t[i + 8] = '*';
else t[i + 8] = ' ';
i++;
}
for (i = 0; i < 16; i++)//打印到16位
{
printf("%c", t[i]);
}
printf("\r\n");
}
/// <summary>
/// 汉字显示列编码
/// </summary>
/// <param name="p0"></param>
/// <param name="p1"></param>
void print_Chinese16_16(char p0[], char p1[])
{
for (int i = 0; i < 16; i++)//打印行数;
{
print_line(p0[i], p1[i]);
}
}
char strai0[] = { 0x00,0x01,0x7E,0x22,0x11,0x7F,0x42,0x82,0x7F,0x04,0x07,0x0A,0x11,0x20,0x43,0x1C };
char strai1[] = { 0x08,0xFC,0x10,0x10,0x20,0xFE,0x02,0x04,0xF8,0x00,0xF0,0x10,0x20,0xC0,0x30,0x0E };/*"爱",0*/
void main()
{
//print_Chinese16_16(strai0, strai1);
}