_only 发表于 2024-3-22 20:45:50

字符终端里如何实现 数字的动态更新

刚才在线安装minGW,发现字符终端里的下载进度 的那些数据是动态的更新着的。

不知道在windows的cmd 里怎么实现,有人知道吗

Dennislem 发表于 2024-3-22 20:46:39

应该是行缓存的,不知具体是啥工具

BristSes 发表于 2024-3-22 20:46:46

该不会是退格字符吧,https://bbs.emath.ac.cn/static/image/smiley/1/sweat.gif

anadavetag 发表于 2024-3-22 20:47:10

应该是重新刷新行的,跟控制台程序的原理是一样的吧

efaugko 发表于 2024-3-22 20:47:52

4# qianyb
我也感觉应该是行刷新

ocideeweguy 发表于 2024-3-22 20:48:01

"\r"就可以了。

ejiwueu 发表于 2024-3-22 20:48:12

6# 风云剑
写了一个小程序,找不到合适的调用函数,下面的代码勉强通过,
风云剑兄可否帮我改进一下#include<stdio.h>#include<stdlib.h>int main(){int ii=0;printf("http://bbs.emath.ac.cn\nhello,shis is asfkdlg\n");for(ii=0;ii<10;ii++)_sleep(1000),printf("\rhello,world,time elapsed:\t%d",ii*1000+ii);}gcc编译,有warning:

wayne.c: In function 'main':
wayne.c:7:1: warning: '_sleep' is deprecated (declared at d:\mingw452\bin\../lib/gcc/mingw32/4.5.2/../../../../include/stdlib.h:408)

inabilezami 发表于 2024-3-22 20:49:03

找到了一个方法,gcc没有warning:#include<stdio.h>#include<windows.h>int main(){int ii=0;printf("http://bbs.emath.ac.cn\n");for(ii=0;ii<10;ii++)printf("\rhello,world,time elapsed:\t%d",ii*1000+ii),Sleep(1000);return 0;}

singqing 发表于 2024-3-22 20:50:02

花了一个多小时,修修改改 实现了linux 命令行下 倒计时 时钟更新:
还加进去了signal.h ,不知能否基于这个实现一个响应鼠标或者键盘输入的功能来....#include <stdio.h> #include <stdlib.h>#include <signal.h> #define N 10void   sig_int(int sig){ printf("\tOh,man!\033
页: [1]
查看完整版本: 字符终端里如何实现 数字的动态更新