我正在尝试做一个清理屏幕区域的功能。这里是我的功能:C++ linux控制台清除屏幕上的一个区域
void clearBuffer(CoordCR start, CoordCR end) const // Clear an area on screen
{
for (int i1 = 0; i1 < end.COLS; i1++)
{
for (int i2 = 0; i2 < end.ROWS; i2++)
{
setCursorPos(start.COLS + i1 - 1, start.ROWS + i2 - 1);
printf(" ");
}
}
}
setCursorPos只是谁改变光标的位置的功能,写“”字符如此清晰的画面。 seCursorPos的第一个参数是cols去,第二个是行。 我CoordCR结构是:
struct CoordCR {
int COLS;
int ROWS;
};
我只是给这个函数左上点和右下点,她用空格替换所有的字符。 这个函数在Windows上工作正常,但她在Linux上被窃听,我不明白为什么。 感谢您的帮助。
不应该''for'循环从开始坐标运行到结束坐标而不是从'0'开始? – 2015-02-08 16:33:28
刚刚打印换行直到屏幕被清除为止呢? – Downvoter 2015-02-08 18:21:36
我的目标是清除一个区域并不是所有的屏幕。 – loustak 2015-02-09 08:20:36