C++旧版课程库
C++第 2 期查看课程总览

055 转义字符 - 斜杆r

主要内容

示例程序

请运行,并描述一下你看到的现象。

#include < cstdio >
int main()
{
    printf("\r%s", "白日依山尽"); 
    printf("\r%s", "黄河入海流"); 
    printf("\r%s", "欲穷千里目"); 
    printf("\r%s", "更上一层楼"); 
    return 0;
}
最后应该只有一行输出:更上一层楼

解释

\r 是将后续的输出位置,移动到行首。 请你们运行验证一下,最终结果是否为 123de

习题

【题目描述】 模拟输出文件的下载进度。假设每 100 毫秒,进度加一。 输出进度为整数,格式为右对齐,长度为 3 位。 【输出样例】 输出只能占据窗口第一行。当前的输出,应该覆盖上一次的输出结果。这是一个动态显示的过程。 || 0% |=>| 10% |==>| 20% |==========|100%

/*
 请完成后,查看示例程序
 



*/
示例程序:

#include < cstdio >
#include < Windows.h >
int main()
{
    printf("||%3d%%", 0);
    for(int i=0; i < 100; ++i) 
    {
        Sleep(100);
        if(i%10 == 0)
        {
            printf("\r|");
            for(int k(0); k < i/10; ++k)
                printf("=");
                
            printf(">|%3d%%", i);
        }
            
    }
    
    printf("\r|==========|%3d%%", 100);
        
    return 0;
}
课后练习