c语言编程中怎么打汉字,c语言编程中,怎么打汉字啊??我是新手啊~~
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
N久以有写的,图形模式下显示中文的程序,需要ucdos下ASC16,HZK16两个字库文件的支持。
里面的 printdot 函数为自己写的打点函数,非C标准的,用C标准函数代替一下。
参数:transparency 是否有背景色
printword(int x,int y,char *string,unsigned char color,unsigned char bgcolor,int transparency)
{
FILE *chinesestream,*englishstream;
int charpoint=0;
unsigned char mask=1;
int i,j,k;
unsigned char bit[32];
long fpos;
unsigned char c;
mask=mask<<7;
/*读入中文字库*/
if((chinesestream=fopen("HZK16","rb"))==NULL)
{
printf("Open hzk16 error!\n");
exit(0);
}
/*读入英文字库*/
if((englishstream=fopen("ASC16","rb"))==NULL)
{
printf("Open asc16 error!\n");
exit(0);
}
while(string[charpoint]!='\0')
{
c=string[charpoint];
if(c<128) /*要显示的字为英文*/
{
fpos=16L*string[charpoint];
fseek(englishstream, fpos, SEEK_SET);
fread(bit,16,1,englishstream);
for(i=0;i<16;i++)
{
for(j=0;j<8;j++)
{
if(bit[i]&mask)
printdot(x+j+charpoint*8,y+i,color);
else
if(transparency) printdot(x+j+charpoint*8,y+i,bgcolor);
bit[i]=bit[i]<<1;
}
}
charpoint++;
}
else /*要显示的字为中文*/
{
fpos=32L*(((unsigned char)string[charpoint]-161)*94+((unsigned char)string[charpoint+1]-161));
fseek(chinesestream, fpos, SEEK_SET);
fread(bit,32,1,chinesestream);
for(i=0;i<32;i=i+2)
{
for(k=0;k<2;k++)
for(j=0;j<8;j++)
{
if(bit[i+k]&mask)
printdot(x+j+charpoint*8+k*8,y+i/2,color);
else
if(transparency) printdot(x+j+charpoint*8+k*8,y+i/2,bgcolor);
bit[i+k]=bit[i+k]<<1;
}
}
charpoint++;
charpoint++;
}
}
}
c语言编程中怎么打汉字,c语言编程中,怎么打汉字啊??我是新手啊~~相关推荐
- IDE之VS:利用 Visual Studio中的IDE配置python语言进行编程
IDE之VS:利用 Visual Studio中的IDE配置python语言进行编程 目录 第一步,先安装python环境 第二步,加载本地已有的python 第一步,先安装python环境
- IDE之VS:利用 Visual Studio中的IDE配置C++语言进行编程
IDE之VS:利用 Visual Studio中的IDE配置C++语言进行编程 目录 C++编译器之VS2015 1.新建项目,VisualC++,空项目,确定 2.右键项目文件夹,添加,新建 3.添 ...
- .net调用c++方法时如何释放c++中分配的内存_C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)...
一.C语言程序的构成 与C++.Java相比,C语言其实很简单,但却非常重要.因为它是C++.Java的基础.不把C语言基础打扎实,很难成为程序员高手. 1.C语言的结构 先通过一个简单的例子,把C语 ...
- C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入
例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...
- C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...
- 乐高中的第一个C语言编程,Robotc for EV3 配置及第一个小实例
本帖最后由 jiangzian 于 2018-9-21 10:12 编辑 下载安装好之后,您需要遵循几个步骤才能制作一个新的,开箱即用的EV3'ROBOTC-Ready'. 一.软件界面 ROBOTC ...
- C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。
例题:给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个"*"号. 例如,形参s所指的字符串为:albc45sdtg56f,则执行结果为:a*1b*c ...
- 科学计算机怎么编程玩,如何通过可编程科学计算器在另一个设备中运行本机MFP语言编写的...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MFP语言的一个重要功能就是通过call ... endcall语句实现对并行计算的支持.MFP语言实现多线互不干扰并行计算的基本原理是采用沙盒机制.每一 ...
- C语言编程>第十八周 ⑧ 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。
例题:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列. 注意:请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句. 代码如 ...
- plcst语言编程教程_PLC ST语言编程之我的心得-专业自动化论坛-中国工控网论坛...
以前编程都是习惯用梯形图,每次编运算程序,都得写很多条运算程序.调试且不说,就光重复使用就得复制好几遍,还要一遍一遍的改寄存器地址,很是麻烦.一次偶然的机会,我用到了一款PLC可以使用ST 语言编程的 ...
最新文章
- hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
- hdu4847:Wow! Such Doge!(字符串匹配)
- linux下配置jdk+tomcat
- 【Python基础】python使用python-docx操作word
- 4.MyBatis全局配置文件SqlMapConfig.xml
- 解决IntelliJ IDEA下Maven报错Unknown lifecycle phase “.test.skip=true“. You must specify a valid lifecycle
- 容器created状态_docker容器状态的转换实现
- saltstack中grains简介
- 设计模式笔记8: 观察者模式
- java怎么计算等式_谁能解释计算这个等式的步骤? Java的
- Java孩子父母类_父母和子女复选框
- Celo计划推出一种与欧元挂钩的新稳定币
- 利用varnish构建httpd缓存服务器
- Q73:蒙特•卡罗积分(Monte Carlo Integration)
- ssl自签名证书生成脚本
- idea启动SpringBoot项目自动停止
- keil的终极配色方案(提供配置文件)
- 当面试官说“你还有什么问题想问的”,你该如何回答?
- 等保2.0中的工业控制系统(ICS)指的是什么
- AK acm/oj.Print a Chessboard
热门文章
- php一点按钮就下载功能源码,php实现强制文件下载方法的源码参考
- redis 存储数据不设置过期时间 会自动过期吗_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- 如何切换 SVN 用户名
- Oracle 查看表空间、数据文件的大小及使用情况
- vim normal 模式下L键
- 视频开发(即时通讯平台)
- 初学Linux之程序安装
- Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结
- 使用递归方法遍历TreeView的节点如配置则勾选
- Android开源项目分包方式学习(eoe、oschina、github)