【发布时间】:2019-12-21 13:32:40
【问题描述】:
在用 std::cin.clear() 和 std::cin.ignore() 清除无效输入后,光标移动到 std::cout 打印的下一行的开头。我尝试在不同位置添加一个额外的 std::endl,但无济于事。
有没有办法强制光标到行尾?
提示
do {
std::cout << "Enter a number: ";
if(!(std::cin >> number)) {
std::cout << "Not a number. Try again..."<< std::endl;
std::cin.clear();
std::cin.ignore(10000, '\n');
}
} while (number != -1);
输出
Enter a number: |
Invalid input. Try again...
|Enter a number:
- '|'表示光标位置
【问题讨论】: