私は、クラスのLinuxターミナルで実行するシェルアプリケーションを設計し始めています。Cでのコンソール入力の長さを制限する:
これは、もちろん、可変長の入力文字列(コマンド)をユーザーから読み取ることを含みます。私は、各コマンドを適切なサイズのバッファに読み込むことができますが、これはコマンドを切り捨てるか、バッファオーバーフローを引き起こす可能性があります。
可能であれば、コンソールへのユーザー入力の長さをどのように制限できますか?私は3にコマンドの長さを設定している場合
セイ、123
は許されるが、(ユーザが入力押した前)123
は、すでに入力された文字列の中に存在し、ユーザーが4
を追加しようと、何の文字が印刷されなかっなる場合コンソールに、おそらく「エラーping」があっても。
私はそのような機能を設計できることを認識していますが、それが必要な場合は、そのようなことをどこから始めるべきかわかりません。
私の独自のソリューションを実装するための既存のソリューションまたはアドバイスは、非常に高く評価されます。
編集:
私が入力した信号が到達したか、最大の長さに達するまで、安価で簡単な解決策は、一度に文字でコマンドを読むことであろうと仮定します。この種の解決策で問題が生じますか?
ちょっとした適応で、これをかなりうまく機能させることができました。ありがとうございました!これが私の必要なものです。 –