我正在尝试限制用户可以输入的字符数
这与用户输入 abcde 时不同,我将输入长度限制为3,
并且只考虑 abc 。
有没有办法物理限制用户输入超过一定数量的字符?
例如,如果用户尝试键入 12345 ,并且我将其限制为3个字符,则只输入 123 。
我尝试过以下代码:
cin.width(5);
cin>> N;
但我已经意识到它不会物理限制用户输入,但只限制输入的缓冲区大小。
有没有办法做这样的事情?
+)我正在使用控制台应用程序
答案 0 :(得分:2)
你可以做一些奇怪的事情,例如一次一个地阅读单个角色,如果他们没有按第四个角色返回,说出无效输入然后让它们重新开始,但它更干净,更容易调用长输入尝试提交后输入无效。
答案 1 :(得分:1)
您无法在标准控制台窗口中执行此操作,但如果您使用c ++使用自己的输入框创建自己的窗口,那么您可以更灵活。
答案 2 :(得分: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;
}
}