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