如何在用C++编写的控制台应用程序中制作加载动画?

2024-01-07

我正在用 C++ 编写控制台应用程序,并且需要仅使用 ASCII 字符来制作类似“loading.gif”的内容。

以下是我应该使用的字符列表:

  1. --
  2. \
  3. |
  4. /
  5. --

这些符号会循环制作一个加载动画。

然而,当我写出输出时,它变成了这样:

输出线1: -- 输出线2: \ 输出线3: | 输出线4: / 输出线5: --

我需要这样做:

输出线1:[这个会一直被替换]

它永远不应该进入第二行。

我怎样才能在 C++ 中做到这一点?有没有一种replace功能?


您可以使用退格字符('\b') 返回并覆盖控制台上的字符。您还需要在每次更改后刷新输出,否则输出可能会保留在缓冲区中而不会出现在控制台上。

这是一个简单的例子:

#include <iostream>
#include <unistd.h> // for sleep()

int main()
{
    std::cout << '-' << std::flush;
    for (;;) {
        sleep(1);
        std::cout << "\b\\" << std::flush;
        sleep(1);
        std::cout << "\b|" << std::flush;
        sleep(1);
        std::cout << "\b/" << std::flush;
        sleep(1);
        std::cout << "\b-" << std::flush;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在用C++编写的控制台应用程序中制作加载动画? 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中

随机推荐

  • 访问 try-catch 块外部的变量

    我有以下代码 class ClassA public ClassA std string str std string GetSomething int main std string s try ClassA a ClassA s cat
  • 仅使用 css 而不使用 javascript 在悬停时显示叠加层

    当我将鼠标悬停在导航栏菜单上时 我试图制作整页叠加ul 覆盖层div位于页面顶部 当我将鼠标悬停在ul the li链接出现 但覆盖层不出现 我怎样才能使用 CSS 来显示叠加层 有人可以帮忙吗 这是 HTML 和 CSS 代码 标题的完整
  • 如何在 REST Web 服务中发送 JSON 数据?

    如何在 REST Web 服务中发送 JSON 数据 我有一个 json 对象 其中包含产品 Id 商店 Id 价格 产品单位 数量 值 这里除产品单位值外 所有值均为整数 现在 我想将这些值发送到其余的 Web 服务中 能否请您提供一些样
  • Angular2 Safari 后退按钮

    在实际的 Angular2 beta 14 及之前的版本 中 Safari 实际上使用 9 1 上的后退按钮 使用路由和多个视图时 似乎存在问题 https github com angular angular issues 7722 ht
  • 协议对保留计数有影响吗?

    我有一个非常简单的代码 我是故意使用委托创建内存循环 尝试观察和学习如何使用 Xcode 的 Memory Graph 我不明白的是为什么在连接部分 Xcode 说有3连接 应该只有2个 如果我用闭包创建一个内存循环 那么它会显示2连接 我
  • Spring 5 - 无 ServletContext 设置异常

    当我尝试使用 Spring 5 运行我的应用程序时AnnotationConfigApplicationContext类 获取异常No ServletContext set 这是我的主要方法 public class Run public
  • 标识列中存在重复值

    我有一个表 其中有一列名为id这是类型Identity 但此列包含重复值 1 8 然后又包含重复值 1 10 这怎么可能呢 我测试了 Giogri 所说的内容 如果在表有行后启用身份规范 至少在 2008 年 也可能是其他版本 数据库将从最
  • 如何在 Firestore 和 Android 中选择位置?

    我对 Cloud Firestore 非常陌生 所以请帮助我 我正在为青少年创建一个应用程序 我想在其中显示每个城市非常好的地点的列表 我还希望每个用户都可以将任何位置保存到最喜欢的部分 以便他或她可以向他或她的朋友显示该位置列表 我的实际
  • Realm = RLMRealm' 没有成员 'setDefaultRealmPath'

    我已将 Realm framework 和 RealSwift framework 添加到项目中 和 导入领域 虽然我收到此错误 RLMRealm 没有成员 setDefaultRealmPath let directory NSURL N
  • WebAssembly 从 wasm 调用 JavaScript 方法,即在 C++ 代码中

    我正在使用 WebAssembly 到目前为止 我能够管理 emscripten 将我的测试 C 项目编译为 wasm 文件 em 为我提供了 2 个文件 即 mainTest js mainTest wasm 当我在 html 页面中加载
  • 为什么向传递的 Iterator 引用添加 mut 可以解决这个问题?

    在下面的 Rust 代码片段中 fn main let list1 Vec
  • 根据区域大小在 NetLogo 中间隔代理

    我正在尝试在 NetLogo 中开发一个模型 其中动物代理将在每次模型启动时随机分布在空间中 然而 动物是有领地意识的 关于如何让动物从一定大小的圆形区域开始 可以与其他动物在一定程度上但不完全重叠 有什么建议吗 下面是我开始的代码片段 但
  • Compass/Sass 在 OSX 上为所有人组写入具有“无访问”权限的文件

    我正在使用 Sass 和 Compass 在 osx 上 并使用 compass watch 来编译我的 scss 文件 编译运行正常 因为使用正确的内容创建了 css 文件 但是 查看权限表明该文件是使用 Everyone 组编写的 具有
  • 获取GVariant的内容

    我目前尝试与 dbus 通信并有一个函数 该函数将返回array of struct string uint32 string string object path 我将结果存储在GVariant并打印这个GVariant显示那里有正确的结
  • 检查 NSString 是否仅包含字母数字+下划线字符

    我有一个字符串 只需包含 a z 0 9 和 如何检查输入是否有效 我已经尝试过 但它接受像 等字母 NSString string NSString stringWithString nameField text NSCharacterS
  • 如何创建像 iPhone 主屏幕一样的图标网格?

    我应该如何创建一个类似于 iPhone 上的 Springboard 主屏幕 的 UI 我想要一个均匀分布的按钮网格 其中包含图像 我可以在其中响应按钮点击 UITable 合适吗 我应该使用普通的 UIView 并在 DrawRect 中
  • ggplot geom_bar() 填充绘图上的不着色条

    在 geom bar 上使用 fill 参数不会给我的绘图上的条形着色 我正在使用泰坦尼克号数据集中的 train csvhere https www kaggle com c titanic data passengers lt read
  • 如何在 Go 中将 [4]uint8 转换为 uint32?

    如何将气体类型从 uint8 转换为 uint32 只需代码 package main import fmt func main uInt8 uint8 0 1 2 3 var uInt32 uint32 uInt32 uint32 uIn
  • 使用密封特征和密封抽象类作为基类之间的区别

    在尝试学习 Akka 时 我经常发现类层次结构与此类似的示例 sealed trait Message case class TextMessage user String text String extends Message case
  • 如何在用C++编写的控制台应用程序中制作加载动画?

    我正在用 C 编写控制台应用程序 并且需要仅使用 ASCII 字符来制作类似 loading gif 的内容 以下是我应该使用的字符列表 这些符号会循环制作一个加载动画 然而 当我写出输出时 它变成了这样 输出线1 输出线2 输出线3 输出