0

ユーザーが入力できる文字数を制限しようとしています。
ユーザーがabcdeを入力したときとは異なり、入力の長さを 3 に制限し、abc
のみが考慮されます。

ユーザーが一定量以上の文字を入力できないように物理的に制限する方法はありますか?
たとえば、ユーザーが12345と入力しようとすると、3 文字に制限すると、123しか入力されません。

私は次のコードを試しました:

cin.width(5);
シン >> n;

しかし、ユーザー入力を物理的に制限するのではなく、入力のバッファーサイズを制限するだけである ことに気付きました。

このようなことをする方法はありますか?

+) コンソール アプリケーションに取り組んでいます

4

3 に答える 3

1

標準のコンソール ウィンドウではできませんが、C++ を使用して独自の入力ボックスを備えた独自のウィンドウを作成すると、柔軟性が向上します。

于 2013-06-19T01:40:42.630 に答える
0

あなたはこれを探しているかもしれません:--

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string MyInput;
    std::cout << "INPUT HERE: ";
    std::getline(cin,MyInput);
    if (MyInput.length() == 3)
    {
        std::cout << "OKAY IT IS THREE CHARS" << std::endl;
    }
    else if (!(MyInput.length() == 3))
    {
        MyInput.erase(MyInput.begin()+3,MyInput.end());
        std::cout << "Look: " << MyInput << std::endl;
    }
}
于 2016-03-05T08:00:08.837 に答える