我开始设计一个shell应用程序,在我正在使用的类中的终端内运行。限制控制台输入长度为C:
这当然会涉及从用户读取可变长度的输入字符串(命令)。我知道我可以简单地将每个命令读入一个我认为合适的缓冲区,但这有可能导致a)截断命令或b)导致缓冲区溢出。
如果可能,如何限制用户输入到控制台的长度?
说,如果我设置命令长度为3,123
将被允许,但是如果123
是在输入字符串中已经存在(用户已经按下之前输入),并且用户尝试添加4
,没有字符将打印到控制台,甚至可能发生'错误ping'。我知道我可以设计这样的功能,但如果需要这样的功能,我不知道从哪里开始做这样的事情。
无论是预先存在的解决方案或实施我自己的解决方案的建议将不胜感激。
编辑:
我想廉价和简单的解决方案将是在时间上读取字符的命令,直到达到一个输入信号或者达到最大长度。这种解决方案会出现问题吗?
随着一点适应,我得到了这个工作相当好。谢谢!这是我需要的。 – 2012-02-08 20:35:35