控制台上不显示 \b 字符的输出
No output is displayed on console for character
以下代码片段在 while 循环的每次迭代中都不会打印任何内容。实际输出仅在程序执行结束时打印。此问题仅在 CentOS 中遇到,如在 Windows 中代码片段按预期工作。
std::cout << "Test \b functionality: ";
int count = 0;
std::cout << count;
while (count < 10)
{
std::this_thread::sleep_for(std::chrono::seconds(1));
std::cout << std::string(std::to_string(count).length(), 'b');
std::cout << ++count;
}
删除"std::this_thread::sleep_for(std::chrono::seconds(1));
">语句会在每次迭代时打印输出。
预期输出: 在每个迭代控制台上,应在擦除旧计数值后输出新的计数值。换句话说,控制台应显示计数变量的最新值。
std::cout
是一个缓冲流,因此您必须flush
它以保证在close
之前写入数据:
std::cout << std::string(std::to_string(count).length(), 'b') << std::flush;
std::cout << ++count << std::flush;
相关文章:
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 字符的输入/输出操作
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- C++输出奇怪的字符而不是数字 (Windows)
- 如何存储 unicode 字符并将其输出到文件?
- C++中附加的字符*的奇怪输出
- 来自无符号字符缓冲区的虚拟输出
- 将未签名的字符写入输出文件
- 在大小为 10 的 char 数组中输入超过 10 个字符的字符串并输出时,它会显示整个数组而不是前 10 个数组.为什
- 如何在C++中正确地将我的语言字符输出到HTML文件中
- x86 上的指针大小和奇怪的字符输出
- 如何修复C++中的随机字符输出?
- Visual Studio-怪异的字符输出
- 需要我当前的字符输出,这是它在C++中的整数值
- 宽字符输出结果
- 将字符输出随机化为文本文件
- C++和printf-奇怪的字符输出
- 显示无符号字符*和有符号字符*输出的结果是否完全相同
- 下一个回文 .奇怪的字符输出
- 不要将宽字符输出到命令提示符