我正在尝试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", "??");
}