如何在调试模式下刷新 fmt 输出?

2023-12-09

我正在尝试fmt我确实从下面的代码中得到了输出

#include <fmt/color.h>

int main() {
  fmt::print(fg(fmt::color::crimson) | fmt::emphasis::bold,
             "Hello, {}!\n", "world");
  fmt::print(fg(fmt::color::floral_white) | bg(fmt::color::slate_gray) |
             fmt::emphasis::underline, "Hello, {}!\n", "???");
  fmt::print(fg(fmt::color::steel_blue) | fmt::emphasis::italic,
             "Hello, {}!\n", "??");
}

然而,它似乎是在程序退出后发生的。如果我在调试模式下单步执行每一行,则没有输出?

也许它应该冲洗?

I tried fflush(stdout);不成功。

以下内容似乎有帮助。有了它,我就得到了中间有睡眠的指纹。但是,在调试期间单步执行每行时仍然没有打印。

setbuf(stdout, NULL);

https://thomas.trocha.com/blog/qt-creator--make-stdout-work-in-application-output-view/

int main() {

    setbuf(stdout, NULL);

    fmt::print(fg(fmt::color::crimson) | fmt::emphasis::bold,
                   "Hello, {}!\n", "world");

    qDebug() << "1";
    QThread::msleep(2000);
    qDebug() << "2";

    fmt::print(fg(fmt::color::floral_white) | bg(fmt::color::slate_gray) |
               fmt::emphasis::underline, "Hello, {}!\n", "???");

    QThread::msleep(2000);

    fmt::print(fg(fmt::color::steel_blue) | fmt::emphasis::italic,
               "Hello, {}!\n", "??");
}

而不是使用fmt::print,你可以使用fmt::format并将其发送至std::cout并使用std::flush:

#include <fmt/color.h>
#include <iostream>

int main() {
  std::cout << fmt::format(fg(fmt::color::crimson) | fmt::emphasis::bold,
             "Hello, {}!\n", "world") << std::flush;

  std::cout << fmt::format(fg(fmt::color::floral_white) | bg(fmt::color::slate_gray) |
             fmt::emphasis::underline, "Hello, {}!\n", "???") << std::flush;
             
  std::cout << fmt::format(fg(fmt::color::steel_blue) | fmt::emphasis::italic,
             "Hello, {}!\n", "??")  << std::flush;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在调试模式下刷新 fmt 输出? 的相关文章

随机推荐

  • CouchDB IP 地址和端口

    当我启动 couchDB 时 它正在运行http 127 0 0 1 5984 我有另一个程序需要在同一端口上运行 所以我想将 couchDB 更改为其他程序 有任何想法吗 在您的中指定端口local ini config httpd po
  • Laravel + Nuxt + Nginx:WebSocket 在连接建立之前关闭

    通用方案和项目配置文件 该项目由两部分组成 服务器部分 Laravel api 客户部分 NuxtJs 客户端 已为测试准备了最低项目配置 Laravel Websockets 软件包已安装 超越代码 laravel websockets
  • 对使用 exams2moodle() 创建的多项选择题和完形填空题进行评分

    我在用exams2moodle 从 R exams 在 Moodle 中创建多项选择题和完形填空题 在准备考试之前 我想确定 Moodle 如何计算成绩 在我看来 在多项选择题中 评估策略的默认设置是partial TRUE rule fa
  • ERROR:Xst:827 = 信号计数无法合成,同步描述错误

    我正在尝试模拟电梯 结果出现错误 ERROR Xst 827 Signal count cannot be synthesized bad synchronous description 我正在关注此来源的代码 https www yout
  • Wildfly 8 Final 上的 JSF 1.2 -weld-core-jsf 仍然引用 JSF 2.2 API

    我目前正在将 JSF 1 2 应用程序迁移到 Wildfly 8 Final 但遇到了困难 首先 我读过很多有关相关问题的帖子 例如https community jboss org message 845006 or 将 JSF 1 2
  • 计算ng重复Angularjs中的值的总和

    我是 Angularjs 的新手 我正在使用 ng repeat 显示项目列表 如何计算它的总和 有没有简单的方法可以使用表达式在html中计算它 name numberofyears amount interest xxx 2 4000
  • int8_t 和 uint8_t 是 char 类型吗?

    给定这个 C 11 程序 我应该看到数字还是字母 还是不抱期望 include
  • Selenium 找不到类型为 number 的字段

    我在让 Cucumber 使用 HTML5 查找字段时遇到问题type number 我不太喜欢它们在浏览器中的显示方式 但我有一些字段需要移动设备上的数字键盘 这似乎是最简单的获取方式 我正在使用 SimpleForm 来构建表单 当我设
  • 设置Android系统音量

    我正在编写一个处理以下内容的应用程序 静音 使手机音量静音 低 使手机音量比静音时高 1 个百分点 中 使手机音量中等 高 将手机音量调至最大 电话音量包括铃声 视频 音频 游戏音量等 我知道如何通过以下方式实现静音模式AudioManag
  • numpy.all 轴参数行为不当?

    我有一个以下数组 a np array 0 5 0 5 0 9 0 9 gt gt gt a shape Out 72 2 4 gt gt gt np all a axis 0 Out 69 array False True False T
  • 将多列中的值乘以一列中的值

    我有以下数据 ID lt c CB1 CB2 CB3 size lt c 10 40 4 Year 1 lt c 10 6 15 Year 2 lt c 12 7 20 Year 3 lt c 14 8 25 data lt data fr
  • 使用 Core Motion 从加速度计数据获取位移

    我正在开发一个增强现实应用程序 目前 想要在表面上显示一个简单的立方体 并且能够在空间中移动 旋转和位移 以从所有不同的角度查看立方体 校准相机的问题在这里不适用 因为我要求用户将 iPhone 放置在他想要放置立方体的表面上 然后按下按钮
  • SIGKILL 信号处理程序

    我需要在收到任何终止命令 如 SIGTERM 和 SIGKILL 时写入日志文件 我可以注册 SIGTERM 但如何处理 SIGKILL 信号 你不能 至少不能杀死进程 你什么can要做的就是安排父进程监视子进程的死亡 并采取相应的行动 任
  • Firebase 绑定未反映在角度视图中

    我从 Firebase 中的每个对象 picUrl 图片的 url 中提取一个值 并将其存储在作用域数组变量 scope bricks 中 如何使 scope bricks 每次使用新对象更新 Firebase 时更新 从而更新新的 pic
  • 透视 mysql 结果集并创建 html 表/矩阵

    我整晚都把头撞在墙上 但还没有解决方案 假设我有这样的 Mysql 表结构 ID name value year 1 Tom 15 2018 2 Tom 4 2019 3 Tom 6 2020 4 Kate 18 2018 5 Kate 2
  • 在 Ruby 1.9.2 中使用 SOAP 和其他标准库

    因此 我最近升级到 1 9 2 Ruby 一直使用 1 8 7 我想尝试一下 Rails 3 我遇到的最大问题是我的 SOAP require 语句都不起作用 我有这样的问题 require soap rpc driver require
  • 更新 pandas groupby().last() 的列值

    给定数据框 dfd pd DataFrame A 1 1 2 2 3 3 B 4 5 6 7 8 9 C a b c c d e 我可以使用以下方法找到每个 A 组的最后一个 C 值 dfd groupby A last C 但是 我想将
  • 复制初始化和直接初始化的混淆

    考虑简单的陈述 摘自在 C 中 复制初始化和直接初始化之间有区别吗 A c2 A 该语句对临时值进行值初始化 然后复制该值 值写入 c2 阅读 5 2 3 2 和 8 5 14 这当然需要一个 非显式复制构造函数 阅读 8 5 14 和 1
  • 协议和委托之间的区别?

    和有什么区别protocol and a delegate and 我们如何声明variables in a protocol class 一个协议 用 protocolObjective C 中的语法 用于声明类 采用 声明它将使用此协议
  • 如何在调试模式下刷新 fmt 输出?

    我正在尝试fmt我确实从下面的代码中得到了输出 include