这学期我一直在为我的 C++ 类(class)编写程序,我遇到了几次问题,我将在我的 Mac 上的 Eclipse 中编写一些代码,但它没有给我预期的结果,或者不会。根本不起作用。但是,当我在装有 Visual Studio 2013 的 Windows 机器上的类中运行完全相同的代码时,它完全按预期工作。这方面的一个例子是我们的最后一个实验室。我们必须做的一件事要求我们使用 std::cout << '\b';
,但是当我在我的 Mac 上运行该程序时不会发生这种情况。
'\b'
不适用于我的 Mac:
#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
//Prints out header to console
cout << left << setw(20) << "Binary Number" << right << setw(20) << "Decimal Equivalent" << '\b' << endl;
return 0;
}
代码在没有退格键的情况下给出了相同的输出:
有人知道是什么原因造成的吗?
编辑:
我对这篇文章进行了编辑,以便更通用地使用我的示例,而不是特定于我的项目。我的一位同学在 XCode 中进行 C++ 编码时也遇到了这个问题。
最佳答案
Eclipse 控制台不支持处理退格键。
对此有一个长期存在的错误报告(Eclipse 错误 76936)曾有一个修复程序,但由于它导致了问题而被恢复。所以目前的状态是它仍然不起作用。
关于C++:为什么在 Eclipse Neon 中运行的相同代码在 Visual Studio 2013 中会产生不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856259/