免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2018 | 回复: 2
打印 上一主题 下一主题

[C] 请教各位一个关于c语言输入的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-20 14:16 |只看该作者 |倒序浏览
char a[];
scanf("%s",&a);
是将键盘输入的数据读入至到输入回车。
我想要问的是用curse.h
中的getchar()是可以在键盘输入一个字符后就中断
它是如何实现的?
我想做的是做一个函数
功能:实现输入多个字符,而且输入的字符个数由函数自已定义,超出输入定义宽度中断并返回输入内容。


我的想法:做个进程不停的扫描输入当达到输入宽度时发一个信号给主函数,中断输入。
问题是:
1。如何实现输入中断
2。如何扫描输入


请各位给帮助看看!!
我原来的设想:
char a[10000];
int swith=20;
int i=0

while ((a=getchar())!='\n' || i<20)
   i++;
a='\0';

但对中文输入好不太行;而且有不少问题!

[ 本帖最后由 halen 于 2007-8-20 14:50 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-20 14:53 |只看该作者
大家在c下做过大量数据输入的程序没,而且对输入数据有严格的格式类型控制!也可能和我遇到同样问题吧!
帮忙看看吧!

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
3 [报告]
发表于 2007-08-20 20:41 |只看该作者
1。如何实现输入中断
2。如何扫描输入
这2个问题同为一个问题,如何通过中断与硬件通信
其实你想问的就是getchar的实现,你需要了解imb/pc下的中断和doc调用,或bios调用
至于c语言本身并不提供中断系统设置和调用,TC环境里提供了一些封装函数接口可以直接实现和IO端口间通信,但是用起来很麻烦,我也没找到相关的资料说明,在纯汇编的环境下可以实现你说的功能,参照任何一本8086汇编语言设计。当然有编译器支持c 语言内嵌汇编也可,如gcc
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP