MFC 对于实时更新的数据怎样过滤,用简单的循环或者判断

对于实时更新的数据怎么让后一个数据跟前一个数据作比较,使相邻的数据避免重复,比如收到0, 0, 0 , 1, 1,3, 3, 3;只显示 1,3,不显示为0或相邻的重复数据。简单的循环或判断怎么写,请给出实例代码。

大概如下这个流程:

    int data = 0;
    int olddata = 0;

    while (1)
    {
        //获取data
        //获取失败,跳出
        if (data != olddata && data != 0)
        {
            printf("data: %d\n", data);
            olddata = data;
        }
    }

再定义一个全局变量存储上一次的值就是了。

输出那句怎么换成在MFC listbox中显示呢,就是符合条件的数按行显示在listbox里