试图用c++制作一个动画加载圈
Trying to make an animated loading circle in c++
我正在尝试制作一个代码,该代码将使用|/-
制作一个纺车
基本上需要做的是打印-行,然后将其替换为\then|then/等等,这样看起来就像是在制作一个动画加载标志。问题是我不知道如何做到这一点。
这里有一个小的C程序可以做这样的事情。这假设您的终端使用'\r'转到行的开头,而不是下一行。使用刷新是因为有时输出是缓冲的,所以在刷新之前不会打印:
#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf("-");
fflush(stdout);
sleep(1);
printf("r/");
fflush(stdout);
sleep(1);
printf("r|");
fflush(stdout);
sleep(1);
printf("r\");
fflush(stdout);
sleep(1);
printf("nn");
}
在实践中,你不会睡觉,你会在打印报表之间工作。在实践中,你可能想在一个不同于打印它的线程中运行工作,或者你需要定期中断工作来进行打印。
看到\n和\r之间的区别吗?有关"\n"answers"\r"之间差异的概述。
作为一种选择,如果您有一个支持VT100代码的终端,您可以使用这样的功能将光标移动到一个特定的位置,在那里您可以绘制和重新绘制动画:
void gotoxy(int x, int y)
{
printf("%c[%d;%df", 27, y, x);
}
如果这两种方法都不起作用,你将需要提供更多关于你试图在上面做这件事的系统的信息
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 运行同一解决方案的另一个项目的项目
- 挂起和取消挂起一个文件DLL
- 用C++中的一个变量定义一个常量
- 函数向量_指针有不同的原型,我可以构建一个吗
- 在c++中用vector填充一个简单的动态数组
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 预处理器:插入结构名称中的前一个行号
- 我在c++代码中生成了一个运行时#3异常
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 从链接列表c++中删除一个项目
- 试图用c++制作一个动画加载圈
- QML如何对属性的每次更改进行动画处理?(只有最后一个更改动画可见)
- 如何解码一个动画gif文件在MFC2010
- 如何制作一个平滑的滚动动画
- 如何传递一个c++对象变量到Lua脚本,以便动画精灵
- 我如何设置一个if语句来动画一个精灵