当前位置:首页 » 编程语言 » 如何用C语言输入汉字点阵
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何用C语言输入汉字点阵

发布时间: 2023-08-13 05:52:35

‘壹’ 在c语言编辑过程中如何输入汉字

如果是在WIN98下,那么先使用PDOS95启动汉字输入程序,再启动TC编辑环境,就可以正常输入汉字了。使用CTRL+SHIFT切换输入法;
如果是在XP环境下,可以直接启动TC编辑环境,使用空格+ctrl键切换输入法。也可以输入汉字。
其实,使用VC++编辑环境完全可以替换TC的编辑环境的,使用汉字就更不是问题了。

‘贰’ 用c语言编程时怎么输入汉字

如果您要输入汉字的话,可以用vc++的,上面可以直接输入汉字,且全面兼容c
如果您的编程环境必须要在c中,那么您可以用turbo
c在中文dos下也是可以的

‘叁’ 急!C语言编写 汉字点阵字库

//--------------------------------------------------------------------------
//记录字模
void __fastcall TFrmHanLib::SaveFontBuf()
{
TColor dd;
char ps[MAX_BUF_SIZE];

memset(Font_array,0,sizeof(Font_array));
for(int i=0;i<size;i++)
{
memset(ps,0,sizeof(ps));
for(int j=0;j<size;j++)
{
dd = img1->Canvas->Pixels[j][i];
if(dd != clWhite) //保存非底色的点
Font_array[i][j/8] |= char(0x80 >> (j%8));
}
}
}
//---------------------------------------------------------------------------
//输出字模显示
void __fastcall TFrmHanLib::OutFontBuf()
{
AnsiString ps;
char ch;
TColor dd;
img2->Picture = NULL;

for(int i=0;i<size;i++)
{
for(int j=0;j<size/8;j++)
{
ch=Font_array[i][j];
for( int m=0;m<8;m++)
{
if(((ch>>(7-m))&1))
{
img2->Canvas->Pixels[j*8 +m][i] =cbb3->SelectedColor;
}
}
}
}

}

参考这个代码。

‘肆’ C语言 如何输入汉字

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

‘伍’ C语言是如何用16点阵方法输出汉字的

我们做手机,经常做这个,显示16点阵的汉字

其实这个跟c语言,没有多大关系,不过我们的手机软件的开发,全部用的都是c

16点阵的数据,通常是16行,16列的,每个点,用1个bit位表示
通常0表示白,即不用描点,1表示黑,需要在此处描个点

因此,用两个for循环,就能把一个16点阵的字符给绘制出来

到底如何绘制,要看显示设备了,我们用的是LCD
不同的设备,会有不同的驱动,也会有不同的描点函数的

‘陆’ C语言中如何输入汉字

在C语言中,可以通过将汉字作为字符串输入。


由于一个汉字占2个字节,所以对汉字的操作,只能以2个字节作为操作单位。

下面通过具体实例来说明汉字在C语言中的使用:

chars[]="首都北京";//将汉字字符赋值给字符数组
chars2[20];肢搏//定义字符数组,存放用户输入的汉字
scanf("%s",s2);//接收用户输入的汉字字符
printf("%d ",sizeof(s));//历液祥计算字符数组s所占的内存单元,输出9(最后一个字节是结束字符'')
printf("%s ",&s[2]);//输出埋信“都北京”(首字占2个字节)
printf("%s ",s2);//输出用户输入的汉字

‘柒’ 急!!C语言编写 汉字点阵字库

/* 以下是 '谢' 的 16点阵宋体 字模,32 byte */
0x01,0x08,0x42,0x08,0x37,0x88,0x24,0x88,
0x07,0xFE,0x04,0x88,0xE7,0xC8,0x24,0xA8,
0x2F,0xA8,0x21,0x88,0x22,0x88,0x2A,0x88,
0x34,0x88,0x28,0x88,0x12,0xA8,0x01,0x10,
};
/* 以下是 '佳' 的 16点阵宋体 字模,32 byte */
0x08,0x40,0x0C,0x40,0x18,0x48,0x17,0xFC,
0x30,0x40,0x60,0x44,0xAF,0xFE,0x20,0x40,
0x20,0x40,0x20,0x48,0x27,0xFC,0x20,0x40,
0x20,0x40,0x20,0x44,0x2F,0xFE,0x20,0x00,
};

/* 以下是 '志' 的 16点阵宋体 字模,32 byte */
0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFE,
0x01,0x00,0x01,0x00,0x3F,0xFC,0x00,0x00,
0x01,0x00,0x08,0x88,0x48,0xC4,0x48,0x86,
0x48,0x14,0x88,0x18,0x07,0xF0,0x00,0x00,
};

‘捌’ C语言编写16和32点阵字库

CFont ft;
ft.CreatePointFont(90,_T("宋体")); //做点阵字体。 90 所需字体高度(用0.1点表示,例如,传递120表示12点字体)。
DC.SelectObject(&ft);
DC.DrawText((LPCTSTR)str,str.GetLength(),&rt,DT_LEFT);把你要的字写入一个DC

然后用GetPixel得到dc的点阵结构 至于怎么存储就看怎么使用了