我開始設計一個shell應用程序,在我正在使用的類中的終端內運行。限制控制檯輸入長度爲C:
這當然會涉及從用戶讀取可變長度的輸入字符串(命令)。我知道我可以簡單地將每個命令讀入一個我認爲合適的緩衝區,但這有可能導致a)截斷命令或b)導致緩衝區溢出。
如果可能,如何限制用戶輸入到控制檯的長度?
說,如果我設置命令長度爲3,123
將被允許,但是如果123
是在輸入字符串中已經存在(用戶已經按下之前輸入),並且用戶嘗試添加4
,沒有字符將打印到控制檯,甚至可能發生'錯誤ping'。我知道我可以設計這樣的功能,但如果需要這樣的功能,我不知道從哪裏開始做這樣的事情。
無論是預先存在的解決方案或實施我自己的解決方案的建議將不勝感激。
編輯:
我想廉價和簡單的解決方案將是在時間上讀取字符的命令,直到達到一個輸入信號或者達到最大長度。這種解決方案會出現問題嗎?
隨着一點適應,我得到了這個工作相當好。謝謝!這是我需要的。 – 2012-02-08 20:35:35