雪风FFR31D系 发表于 2012-11-03 13:11

C程序运行时的中文输入问题

运行一个scanf输入函数(或其它输入函数)的程序时,输入中文,发现输错,按退格(Back space)键删除时,屏幕上没有把中文文字删完,而是还显示一半。请问大家是如何解决这问题的!

linux_c_py_php 发表于 2012-11-03 20:58

crtl+backspace

雪风FFR31D系 发表于 2012-11-04 13:28

回复 2# linux_c_py_php

切换输入法?答所非问?

   

linux_c_py_php 发表于 2012-11-04 15:13

孩子, 能用点心吗, backspace和space是一回事?

雪风FFR31D系 发表于 2012-11-04 16:56

回复 4# linux_c_py_php

我懂你意思,但根本不行,你可以自己先试一下就知道了


main()
{
   char a;
   scanf("%s", &a);
}
   
然后行运,输入时
随便输入几个汉字,然后无论是按Ctrl(不是Crtl)+backspace还是backspace,都删屏幕上的字。实际是把汉字删了,但幕屏上并没有显示完删除状态。
讨论有没有什么好的解决方法

linux_c_py_php 发表于 2012-11-04 21:03

... 啥意思, ctrl+backspace就是删除输入内容啊, 哪里不行?

你直接backspace是asdfsadf^H^H^H
你按住ctrl+backspace就删掉了.

汉字一样也能删掉.

雪风FFR31D系 发表于 2012-11-04 21:19

回复 6# linux_c_py_php

不是这个意思,我是说删除中文显示,我的BackSpace没有设置显^H,删英文asdf这些一点问题都没有,删中文才会出现屏幕显示不完全
   

linux_c_py_php 发表于 2012-11-04 21:26

是用的神马终端? 比如我用的secureCRT.

雪风FFR31D系 发表于 2012-11-04 23:20

回复 8# linux_c_py_php

就是Xwindow下的terminal,重绘屏幕到是可以解决这个问题,不过就是效率太低了

雪风FFR31D系 发表于 2012-11-04 23:22

一直想找一个更好决解方案
页: [1]
查看完整版本: C程序运行时的中文输入问题