1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | #include <stdio.h>
|
7 | #include <windows.h>
|
8 |
|
9 | int main()
|
10 | {
|
11 | HANDLE conout = GetStdHandle(STD_OUTPUT_HANDLE);
|
12 |
|
13 | for (int i = 0; i < 80; ++i) {
|
14 |
|
15 | CONSOLE_SCREEN_BUFFER_INFO info;
|
16 | GetConsoleScreenBufferInfo(conout, &info);
|
17 |
|
18 | SMALL_RECT src = { 0, 1, info.dwSize.X - 1, info.dwSize.Y - 1 };
|
19 | COORD destOrigin = { 0, 0 };
|
20 | CHAR_INFO fillCharInfo = { 0 };
|
21 | fillCharInfo.Char.AsciiChar = ' ';
|
22 | fillCharInfo.Attributes = 7;
|
23 | ScrollConsoleScreenBuffer(conout,
|
24 | &src,
|
25 | NULL,
|
26 | destOrigin,
|
27 | &fillCharInfo);
|
28 |
|
29 | CHAR_INFO buffer = { 0 };
|
30 | buffer.Char.AsciiChar = 'X';
|
31 | buffer.Attributes = 7;
|
32 | COORD bufferSize = { 1, 1 };
|
33 | COORD bufferCoord = { 0, 0 };
|
34 | SMALL_RECT writeRegion = { 0, 0, 0, 0 };
|
35 | writeRegion.Left = writeRegion.Right = i;
|
36 | writeRegion.Top = writeRegion.Bottom = 5;
|
37 | WriteConsoleOutput(conout,
|
38 | &buffer, bufferSize, bufferCoord,
|
39 | &writeRegion);
|
40 |
|
41 | Sleep(250);
|
42 | }
|
43 | return 0;
|
44 | }
|