0

我正在用 C 编写一个应用程序。其中一个屏幕有一个光标。光标需要一直闪烁。我有一个无限循环,不断刷新屏幕。为了获得闪烁的效果,在这个while循环的每第五次迭代中,光标需要在出现和消失之间交替。

我需要以某种方式记录迭代次数。我可以在while循环外声明一个可以进行计数的变量,但觉得这很不雅,因为我有一个drawCursor()更新游标状态的函数,这需要照顾它,而我不必在while循环外声明这个变量.

有没有办法在没有这个计数整数的情况下做到这一点?完成这种光标闪烁效果的优雅方法是什么?

4

1 回答 1

6

只需static在函数内部有一个变量。

void drawCursor()
{
    static int counter;

    if ((counter++ % 5) == 0)
    {
        // toggle the cursor state 
    }

}
于 2012-11-26T12:21:11.947 回答