SylixOS---实现打印数据更新的两种方法

SylixOS中的测试程序—每隔一秒刷新一次数据,并且设置背景颜色。

具体颜色修改可看文章:关于linux特殊含义的转义符\033

方法一:使用转义字符\033实现光标上移

#include <stdio.h>
int main (int argc, char **argv)
{
    
    
    int i=0;
    while(1){
    
    
        printf("\033[41;30mHello SylixOS!   %d\033[0m\r\n", i);  //\033[41;30m修改背景颜色
        printf("\033[43;30mHello SylixOS!   %d\033[0m\r\n", i);
        printf("\033[44;30mHello SylixOS!   %d\033[0m\r\n", i);
        sleep(1);
        i++;
        printf("\33[3A");       //\33[nA 光标上移n行 
    }
    return (0);
}

方法二:或者通过\r\b达到光标上移的效果

#include <stdio.h>
int main (int argc, char **argv)
{
    
    
    int i=0;
    while(1){
    
    
        printf("\033[41;30mHello SylixOS!   %d\033[0m\r\n", i);  //\033[41;30m修改背景颜色
        printf("\033[43;30mHello SylixOS!   %d\033[0m\r\n", i);
        printf("\033[44;30mHello SylixOS!   %d\033[0m\r\n", i);
        sleep(1);
        i++;
        printf("\r\b\r\b\r\b\r");  //\r回退到行首再使用\b回退一格道达上一行实现换行
    }
    return (0);
}

测试效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40390825/article/details/114084956