在c ++中输入时自动更改字符?

时间:2010-04-22 01:16:22

标签: c++

我无法解决这个问题。基本上我的程序有一个标准输入,我想修改它,所以如果用户输入一个空格,它会在输入时自动替换它。我不知道我是怎么做的,或者甚至是可能的,所以我很感激任何帮助。

2 个答案:

答案 0 :(得分:2)

我相信如果你想在控制台上操作这样的文本,你就需要一个像ncurses这样的库。

答案 1 :(得分:1)

您需要关闭所输入字符的回显,然后在验证后自己回显它们,并根据需要替换字符。对于不同的操作系统(例如Linux与Windows)有不同的方法可以做到这一点,更不幸的是,这可能意味着只需要为这个简单的功能控制整个屏幕,因为需要正确处理退格/删除键(如果需要,甚至多行)。简而言之,您要控制用户,同时让自己对用户期望的常用功能负责,这使得事情变得相当困难,因为您无法知道某些终端的行为,更不用说区域设置的问题了。根据您的目的和具体用例,在收到输入后自行更换字符或发出错误信息会更容易。

编辑:PDCurses是跨平台的,所以如果您仍然感兴趣,可以尝试一下。它比编码特定平台更容易。