南理工信息管理系统:如何在C语言中输入中文?

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 22:46:14
怎样在C语言的编辑环境中输入中文?
系统是Windows98的

利用字模啊~~~~
画点
你看看以下代码
/* WIN-TC BGI 图形编程模板 */

#include "Conio.h"
#include "graphics.h"
#define closegr closegraph
char han16S[]={
/* 以下是 '汉' 的 16点阵宋体 字模,32 byte */
0x20,0x00,0x10,0x00,0x17,0xFC,0x02,0x08,
0x82,0x08,0x49,0x10,0x49,0x10,0x11,0x10,
0x10,0xA0,0x20,0xA0,0xE0,0x40,0x20,0xA0,
0x21,0x18,0x26,0x0E,0x28,0x04,0x00,0x00,
};
void drawmat(char *mat,int matsize,int x,int y,int color)
/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/
{int i,j,k,n;
n=(matsize-1)/8+1;
for(j=0;j<matsize;j++)
for(i=0;i<n;i++)
for(k=0;k<8;k++)
if(mat[j*n+i]&(0x80>>k)) /*测试为1的位则显示*/
putpixel(x+i*8+k,y+j,color);
}

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "");
}

int main(void)
{
initgr(); /* BGI初始化 */
drawmat(han16S,16,50,50,14);

/*****此部分添加你自己的代码,例如
line(25, 25, 220, 220);
circle(100, 100, 50);
等等*****/

getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
return 0;
}
/********************************************/
不用汉字系统也行~!!
编译器用win-tc,提供字模调用

Visual C++可以直接输入
Turbo C必须借助汉字系统输入,DJGPP等等命令行IDE也需要借助汉字系统(但是32位的程序用一个16位的汉字系统很郁闷),推荐改用Windows的编译器,例如DevCpp和Visual C++等。

用Dev--C++吧,比Turbo C清晰又美观!