我有一个等待用户输入的C程序
#include <stdio.h>
int main()
{
getchar();
return 0;
}
现在我运行它,输入一些汉字,比如测试测试
.然后现在我点击退格键,我发现我不能完全删除这些字符(留下一些空白)
我发现termios
的标志设置为IUTF8
,但为什么它不起作用?
更新日期:2022/12/31:
我正在试着更详细地描述我的问题,我有一个这样的计划
现在我运行它并输入一些中文字符(没有Enter键)
然后我一直按退格键(直到什么都不能再擦掉),但一半的内容仍然显示在我的屏幕上.这太不正常了,我怎么才能让擦除运行得好呢?
我知道这对你来说是个愚蠢的问题.我只是想让输入一些UTF8字符(如中文字符)更舒服.
我发现shell 可以很好地处理这一点,我如何才能使我的程序执行得同样好呢?
顺便说一句,这是我的语言环境输出
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=