Я сделал несколько действительно тривиальных изменений (в основном просто для того, чтобы очистить его и сделать его более читабельным):
#include <iomanip>
#include <iostream>
using namespace std;
#ifdef __GNUC__
#include <unistd.h>
#define pause(n) sleep(n)
#elif defined _WIN32
#include <cstdlib>
#define pause(n) _sleep((n)*1000)
#endif
int main()
{
cout << "CTRL=C to exit...\n";
for (int units = 10; units > -1; units--)
{
cout << setw(2) << setprecision(2) << units << '\r';
cout.flush();
pause(1);
}
return 0;
}
Это отлично работало и с VC ++, и с Cygwin.Если он не работает под mingw, для меня это звучит как проблема реализации.