我在C中编写应用程序。其中一个屏幕有一个光标。光标需要保持闪烁。我有一个无限的while循环,不断刷新屏幕。为了获得闪烁的效果,在此while
循环的每第五次迭代中,光标需要在显示和消失之间交替。
我需要以某种方式保持迭代的计数。我可以在while
循环之外声明一个可以进行计数的变量,但觉得这样不太优雅,因为我有一个drawCursor()
函数来更新游标的状态,这需要处理它我不必在while
循环之外声明这个变量。
有没有办法在没有这个计数整数的情况下做到这一点?完成此光标闪烁效果的优雅方法是什么?
答案 0 :(得分:6)
在函数中只需要一个static
变量。
void drawCursor()
{
static int counter;
if ((counter++ % 5) == 0)
{
// toggle the cursor state
}
}