主要内容 #
示例程序 #
请运行,并描述一下你看到的现象。
#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; }