限制用户输入的字符数

Limiting the number of characters of user input

本文关键字:字符 输入 用户      更新时间:2023-10-16

我试图限制用户可以输入的字符数。
不像用户输入abcde,我限制输入长度为3,
只有abc被考虑。

是否有一种方法可以在上限制用户输入超过一定数量的字符?
例如,如果用户尝试键入12345,如果我将其限制为3个字符,则只键入123

我试过下面的代码:

cin.width (5),
Cin>> n;

但是我已经意识到它并没有物理上限制用户输入,而只是限制了输入的缓冲区大小。

有办法这样做吗?

+)我正在制作控制台应用程序

你可以做一些奇怪的事情,比如一次读取一个字符,如果他们在第四个字符之前没有按回车键,就说输入无效,然后让他们重新开始,但是在他们尝试提交后,直接把长输入称为无效会更简洁、更容易。

你不能在一个标准的控制台窗口中做到这一点,但是如果你使用c++来创建你自己的窗口和你自己的输入框,那么你就有更多的灵活性。

您可能正在搜索这个:——

#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;
    }
}