我有一个程序要求用户多次输入输入,并将输入存储在不同的char变量中,然后对这些变量执行操作。C++如何一次限制输入到一个字符?
我的问题是,我想限制输入一次为一个变量工作。 例如:
char a = 'a', b = 'b', c = 'c';
cout << "Enter a ";
cin >> a;
cout << "\nEnter b ";
cin >> b;
cout << "\nEnter c ";
cin >> c;
cout << "Entered chars were " << a << ", " << b << ", " << c;
运行此,如果用户输入吨ÝU(包括字母之间的间隔)可以让程序进入吨入变量A,Y为变量b和u到变量c。从本质上讲,它会排序“通过”,并自动为cin设置值,而不是要求用户为每个值执行一次。
我想要的是检查用户输入的变量a是否只有1个字符。
我已经尝试过使用cin.good(),但是在输入cin >> a以上的一个以上字符后它会返回0;我也尝试使用cin.get(a);然后检查cin.good()。如果用户输入多个字符,这也会返回0。
有没有办法限制输入一次只能用于一个cin操作?
你可以调用'ignore'来终止其他输入(缓慢而痛苦地)。 – chris 2013-03-22 16:52:10
一次使用getline获取一行。放弃每一行上的任何多余的值。 – john 2013-03-22 16:53:30