主要是依赖函数:printf("\b") 退格格式符

fflush(stdout),刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上

示例:

  1. #include<stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <windows.h>
  5.  
  6. int main()
  7. {
  8. int i;
  9.  
  10. #if 1
  11. int bootdelay = ;
  12. printf("Hit any key to stop autoboot: %2ds ", bootdelay); //"%2ds " 2byte数字 1字节's' 1字节空格
  13. fflush(stdout);
  14. while(bootdelay > )
  15. {
  16. Sleep();
  17. --bootdelay;
  18. printf("\b\b\b\b%2ds ", bootdelay); //因格式占4byte,2byte数字、1字节‘s’、1字节空格,所以需要4个'\b' backspace 退格非删除
  19. fflush(stdout);
  20. }
  21. #endif
  22. printf("\n");
  23.  
  24. printf(".................\n");
  25. for(i = ; i > -; i--)
  26. {
  27. if(i == )
  28. {
  29. printf("Wait %ds", i);
  30. fflush(stdout);
  31. Sleep();
  32. }
  33. else
  34. {
  35. printf("\b\b%ds", i);
  36. fflush(stdout);
  37. Sleep();
  38. }
  39. }
  40.  
  41. printf("\n");
  42.  
  43. return ;
  44. }

printf固定一行打印倒计时的实现的更多相关文章

  1. 【451】python 同一行打印进度条

    参考:Python3 Print 同一行打印显示进度条效果 参考:\r\n, \r and \n what is the difference between them? [duplicate] 参考 ...

  2. keil工程当中实现printf重定向串口打印

    之前是完全不知道printf可以重定向设置 最近才发现还有这等好事,可以让printf直接实现串口打印 在网上找了很多资料,终于实现了我想要的效果 原理:printf是通过调用底部的fputc来实现打 ...

  3. printf用法之打印2进制,八进制,十进制,十六进制

    printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x, 但是它不存在二进制,如果输出二进制,可以手写,但是也可以调用stdlib.h里面的itoa ...

  4. printf 字体颜色打印

    为了给printf着色方便, 我们可以定义一些宏: view plain copy to clipboard print ? #define NONE          "/033[m&qu ...

  5. PTA 冒泡排序

    6-4 冒泡排序 (10 分)   编程实现冒泡排序函数.void bubbleSort(int arr[], int n);.其中arr存放待排序的数据,n为数组长度(1≤n≤1000). 函数接口 ...

  6. printf 打印字符串的任意一部分

    使用printf()函数打印字符串的任意部分,请看下例: <span style="font-size:16px;">#include <stdio.h> ...

  7. C语言的常用printf打印占位符%d, %u, %f, %s, %c, %o, %x

    占位符含义及用法 代码: #include <stdio.h> int main(int argc, char const *argv[]) { , b = -; // 默认10进制赋值 ...

  8. printf打印参数的顺序问题

    C语言的printf函数处理的参数顺序是从右向左的,例如如下程序: #include <stdio.h>    int main()  {      int a = 1, b = 2, c ...

  9. js中console在一行内打印字符串和对象

    在前端开发中,大多数的调试一般都是F12中的console和network中查看请求数据和响应数据,也有一部分人喜欢用debugger. 在开发大一些的项目时,在开发环境下,打开着控制台,切换一下页面 ...

随机推荐

  1. SpringBoot: 12.异常处理方式2(使用@ExceptionHandle注解)(转)

    1.编写controller package com.bjsxt.controller; import org.springframework.stereotype.Controller; impor ...

  2. unity 读取灰度图生成三维地形并贴图卫星影像

    从 https://earthexplorer.usgs.gov/ 下载高程数据 从谷歌地球上保存对应地区卫星图像 从灰度图创建地形模型,并将卫星影像作为贴图 using System.Collect ...

  3. Mac下Unity使用Jenkins自动化打包

    重要的事情说三遍:不要使用jenkins dmg安装包直接安装,用brew安装  PS:会有权限问题 重要的事情说三遍:不要使用jenkins dmg安装包直接安装,用brew安装 重要的事情说三遍: ...

  4. TCP/IP和OSI/RM以及协议端口

    TCP/IP:数据链路层:ARP,RARP网络层: IP,ICMP,IGMP传输层:TCP ,UDP,UGP应用层:Telnet,FTP,SMTP,SNMP. OSI:物理层:EIA/TIA-232, ...

  5. MySql中的count、NULL和空串的区别

    **1.count (1).count (*) 与 count (列名) 的区别** 表 count(1) count(*) count (列名) 作用 统计表中的所有的记录数 会统计表中的所有的记录 ...

  6. CQRS1

    CQRS之旅——旅程1(我们的领域:Contoso会议管理系统)   旅程1:我们的领域:Contoso会议管理系统 起点:我们从哪里来,我们带来了什么,谁将与我们同行?“ 只要前进,我愿意去任何地方 ...

  7. flask核心对象

    appcontext 上下文 处理

  8. 获取父窗口iframe的ztree对象

    问题如下:我要在jqgrid中获取ztree的选中节点对象 var iframe = parent.$("#ztree的iframeId").contents(); var ztr ...

  9. Java包的基本概述

    第七章 7.1 包的基本概述 起因: 在我们设计一个程序的时候(尤其是多人合作),会写一些类来实现功能,但是往往会有重名的现象发生,为了解决这个问题,则专门设计了包.(还有其他作用,下述) 简单理解: ...

  10. ArrayList集合详解

    ArrayList 实现了List的接口,是长度可变的数组,空间是连续的 api默认提供了很多操作ArrayLis的方法,这些方法可以去api里面查询使用 一.这么多方法怎么学?1.熟练使用常见的方法 ...