Функция для очистки определенной строки в консоли Windows-приложения.
void clearRow (int row)
{
// получаем хэндл окна консоли
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
// получаем координаты строки для очистки
COORD coord = {0, row - 1};
// получаем данные из буфера вывода консоли
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
// заполняем строку пробелами
FillConsoleOutputCharacter(hStdOut, ' ', 80, coord, NULL);
// сбрасываем позицию курсора
SetConsoleCursorPosition(hStdOut, csbi.dwCursorPosition);
}
Использовать так:
#include <iostream>
#include <windows.h>
int main ()
{
// заполняем экран мусором
for (int i = 0; i < 80*10; i++)
std::cout << "0";
// ожидаем реакции пользователя
std::cin.get ();
// очищаем четвертую строку
clearRow (4);
// Ожидаем реакции пользователя и завершаем работу
std::cin.get ();
return EXIT_SUCCESS;
}
|
|
Webmoney Z163628999150, R617151845974
|