52 |
|
#else |
53 |
|
#include <cstdio> |
54 |
|
#include <sys/ioctl.h> |
55 |
+ |
#include <unistd.h> |
56 |
|
#endif |
57 |
|
|
58 |
|
#ifdef IS_MPI |
99 |
|
|
100 |
|
#ifdef _MSC_VER |
101 |
|
CONSOLE_SCREEN_BUFFER_INFO csbi; |
102 |
< |
int ret = GetConsoleScreenBufferInfo(GetStdHandle( STD_OUTPUT_HANDLE ), |
103 |
< |
&csbi); |
102 |
> |
HANDLE hConsole = GetStdHandle( STD_OUTPUT_HANDLE ); |
103 |
> |
int ret = GetConsoleScreenBufferInfo(hConsole, &csbi); |
104 |
|
if(ret) { |
105 |
< |
width = csbi.dwSize.X; |
105 |
> |
width = csbi.dwSize.X - 1; |
106 |
|
} |
107 |
|
#else |
108 |
|
struct winsize w; |
135 |
|
struct tm * ender = localtime(&end_); |
136 |
|
char buffer[22]; |
137 |
|
strftime(buffer, 22, "%a %b %d @ %I:%M %p", ender); |
138 |
< |
|
138 |
> |
|
139 |
> |
#ifdef _MSC_VER |
140 |
> |
csbi.dwCursorPosition.X = 0; |
141 |
> |
SetConsoleCursorPosition(hConsole, csbi.dwCursorPosition); |
142 |
> |
#else |
143 |
|
cout << '\r'; |
144 |
+ |
#endif |
145 |
|
cout.width(3); |
146 |
|
cout << right << int(percent); |
147 |
|
cout.width(3); |