想象一下,我们有两个整数:int a,b;
我希望通过cin>>
命令获取它们,我的问题是在cin
命令自动转到新行并且我不想这样。
我的意思是我想首先通过int a
命令获取cin
而不是转到下一行然后获取int b
所以我写道:
int a,b;
cin>>a;
cout<<"\b\t";
cin>>b;
什么错了?什么是更好的方法呢?
答案 0 :(得分:2)
你不能用cin(或单独的cin)做你想做的事。 C ++不知道有一个带光标的终端(你可能在行式打印机终端上输入而无法返回)。
当您需要光标控制时的标准响应是使用ncurses(https://www.gnu.org/software/ncurses/)或类似的包。如果只有一种类型的终端(通常是VT-100 / ANSI终端),则可以输出控制序列来移动光标。有关详细信息,请参阅http://www.termsys.demon.co.uk/vtansi.htm。