![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 13:42 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » [求助]C语言&&汉字 |
| 可打印版本 1,308 / 12 |
| 第1楼 qinqong | 发表于 2004-06-03 00:00 |
| 高级用户 发帖 148 积分 599 | |
|
[求助]C语言&&汉字 我想编一个程序,用C语言实现,其中要经常用到汉字的输入输出。请问怎样实现。在C语言下我从没用过汉字。
|
|
| 第2楼 bush | 发表于 2004-06-04 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
这好像不是C的问题吧? 只要系统支持汉字就行,C只是把一个汉字看作成两个ASCII处理罢了
|
|
| 第3楼 Loff | 发表于 2004-06-04 00:00 |
| 中级用户 发帖 59 积分 286 | |
|
这个……不好回答,如果你的程序是win32程序,应该不存在“汉字”的问题。如果是一般dos程序,需要将程序设置为图形模式,并要汉字字库的支持,由你的程序来“画”出汉字;而如果是类似ucdos之类的中文dos系统(实际上已经被设为图形模式了),和windows基本一样。
|
|
| 第4楼 qinqong | 发表于 2004-06-04 00:00 |
| 高级用户 发帖 148 积分 599 | |
|
感谢楼上的两位。
我把我的需要再说一下,我用in=bioskey(0)输入数据,再强制转换成字符型,结果在dos下加载了汉字之后输入的东西输出后不是我想要的,比如我输入“想要”输出可能是“花朵”也可能是乱码。现在我想知道用什么方法能把输入的东西正确的输出来(汉字是不是用字符型保存的),不论在dos下还是在windows下,都能正确的输入汉字和输出汉字。希望大家多帮忙! |
|
| 第5楼 qinqong | 发表于 2004-06-12 00:00 |
| 高级用户 发帖 148 积分 599 | |
|
渴望回帖
|
|
| 第6楼 bush | 发表于 2004-06-14 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
可否看一下你的程序代码?
|
|
| 第7楼 qb45 | 发表于 2004-06-15 00:00 |
| 高级用户 发帖 194 积分 677 | |
|
用QBASIC就简单了!
|
|
| 第8楼 挑战者 | 发表于 2004-06-15 00:00 |
| 初级用户 发帖 7 积分 126 | |
|
我现在也是在被这个为难了,实在不知道怎么搞呀
|
|
| 第9楼 zk88 | 发表于 2004-07-07 00:00 |
| 初级用户 发帖 10 积分 130 | |
|
dos软件汉字输出比较简单,汉字输入有两种方法:
1 外挂 ucdos. 2 内置输入法代码。 都能实现拚音输入。2 难度高,内存占用少,可做实时系统 |
|
| 第10楼 TurboY | 发表于 2004-07-08 00:00 |
| 中级用户 发帖 99 积分 322 来自 湖北 | |
以下是引用qinqong在2004-6-4 上午 06:56:47的发言: bioskey(0)实际是调用了INT16H的0号功能,你看看下面的说明: INT 16,0 - Wait for Keypress and Read Character AH = 00 on return: AH = keyboard scan code AL = ASCII character or zero if special function key - halts program until key with a scancode is pressed - see SCAN CODES 它的返回值不仅仅是ASCII码,其高8Bit是键盘扫描码,所以,你的程序应改为 unsigned in; //汉字内码要用无符号数 in=bioskey(0) & 0xff; |
|
| 第11楼 boblhh9999 | 发表于 2004-07-14 00:00 |
| 中级用户 发帖 74 积分 316 | |
|
10楼的见解,使我有所得,谢谢
|
|
| 第12楼 cdl | 发表于 2004-07-14 00:00 |
| 中级用户 发帖 107 积分 340 | |
|
楼主还是没有说清楚是用中文dos系统还是不用,我想你可能是加载了中文系统。请不要用bioskey(0),换成字符串输入函数。因为一个汉字要2个字节编码,而bioskey(0)获取的只是输入法的编码按键。
|
|
| 第13楼 zk88 | 发表于 2004-07-14 00:00 |
| 初级用户 发帖 10 积分 130 | |
|
还是找个现成源代码库吧!可以跳过一大堆问题。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |