赞
踩
- #include<stdio.h>
- #include<stdlib.h>
- #include<Windows.h>
- //做一个流水灯
- int main()
- {
- HANDLE handle;
- COORD pos = { 0,0 };
- while (1)
- {
- for (int i = 0; i < 10; ++i)
- {
- printf("||||||||||");
- Sleep(100);
- printf("\b\b\b\b\b\b\b\b\b\b");
- printf(" ");
- printf("\n");
- }
- handle = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleCursorPosition(handle, pos);
- }
- }
此处使用了c++提供的标准库函数实现光标回到dos界面的(0,0)位置,首先定义一个属于当前dos窗口的句柄,然后利用移动光标位置的函数在执行完十次之后将光标回到(0,0)处。
一个\b的含义是将光标向前移动一位,然而并不做任何修改。请看
- //test1.1
- #include<stdio.h>
-
- main(){
- printf("abcde\b ");//注意到\b后面加了一个空格
- }
代码注释中特别强调了\b后加了空格,事实上,若\b后不加空格,打印结果如下,与没加\b时打印结果相同:
打印\b的作用并不是将之前的字符从屏幕上清除,而是将光标前移一个位置,而仅仅将光标前移并不能将此前的字符清除,除非输出一个空格将其覆盖,这便是程序test1.1所实现的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。