为什么退格键'\ b'在C ++中不起作用?

p

我创建了一个循环,因为循环很长,所以我想看看进度。因此,我添加了一些退格字符以在同一行上打印循环的百分比:

std::size_t photoCntr = 0;
for (std::vector< VerifObj >::const_iterator itVOV = verifObjVector.begin(); itVOV != verifObjVector.end(); itVOV++)
{
    // some operations

    std::cout << "\b\b\b\b" << std::setw(3) << static_cast< int >(100.f * ++photoCntr / verifObjVector.size()) << "%";
}

在控制台中,直到循环结束才进行任何打印,然后再进行打印100%循环需要很长时间(几分钟)。我正在使用Ubuntu 14.04和g ++ 11。可能是某种优化直到缓冲区装满后才打印吗?关于如何使其运作的任何想法?

马格努斯·霍夫(Magnus Hoff)

您需要刷新输出缓冲区:

std::cout.flush();

您也可以使用以下样式:

std::cout << "Stuff" << std::flush;

只是为了彻底,这个完整的程序在地方上显示出越来越大的进步:

#include <iostream>
#include <iomanip>
#include <chrono>
#include <thread>

int main() {
   for (int i=0; i<100; ++i) {
      std::cout << "\b\b\b\b" << std::setw(3) << i << '%' << std::flush;
      std::this_thread::sleep_for(std::chrono::milliseconds(30));
   }
   std::cout << "\b\b\b\b100%" << std::endl;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么退格键'\ b'在C ++中不起作用?

来自分类Dev

为什么C中的if语句中的(a == b == c)不起作用?

来自分类Dev

为什么我的条件(-not A -and (A -or B -or C))不起作用?

来自分类Dev

为什么“ x = a或b”在Perl中不起作用?

来自分类Dev

为什么\ b在python re模块中不起作用?

来自分类Dev

-c和-b选项在ubuntu的mailx中不起作用

来自分类Dev

为什么[“ A”,“ B”,“ C”]。map(String.prototype.toLowerCase.call)不起作用?

来自分类Dev

为什么[“ A”,“ B”,“ C”]。map(String.prototype.toLowerCase.call)不起作用?

来自分类Dev

为什么if else结构在c ++中不起作用?

来自分类Dev

为什么此C代码在JavaScript中不起作用?

来自分类Dev

为什么隐藏方法在C#中不起作用

来自分类Dev

链表(在C中)为什么不起作用

来自分类Dev

为什么 strcmp 在 c 中不起作用?

来自分类Dev

为什么 C 中的这个 while 循环不起作用?

来自分类Dev

退格键在Vim中不起作用

来自分类Dev

为什么“ \ b”在find的正则表达式模式中不起作用?

来自分类Dev

为什么'sort {$ a- $ b}(浮点数列表)'在Perl中不起作用?

来自分类Dev

为什么函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用?

来自分类Dev

Vim中的键绑定-<C-ç>不起作用

来自分类Dev

为什么转义符\ b在前几行不起作用?

来自分类Dev

您好,为什么我的按钮B不起作用?

来自分类Dev

为什么带有jmp指令的shellcode起作用,为什么标签在C包装器中不起作用?

来自分类Dev

为什么隐藏所有命令在命令行(Windows)中不起作用:git --git-dir = c / a.git --work-tree = c / b status -a?

来自分类Dev

为什么通过指针交换在C ++中的向量中不起作用?

来自分类Dev

在Matlab中,什么时候Ctrl + C不起作用?为什么?

来自分类Dev

为什么在Ubuntu中按箭头键时终端会显示“ ^ [[A”“ ^ [[B”“ ^ [[C”“ ^ [[D”?

来自分类Dev

箭头不起作用,我只看到^ [[A ^ [[B ^ [[C ^ [[D

来自分类Dev

为什么ArrayList作为HashMap中的键不起作用?

来自分类Dev

为什么键盘键在Selenium WebDriver中不起作用?

Related 相关文章

  1. 1

    为什么退格键'\ b'在C ++中不起作用?

  2. 2

    为什么C中的if语句中的(a == b == c)不起作用?

  3. 3

    为什么我的条件(-not A -and (A -or B -or C))不起作用?

  4. 4

    为什么“ x = a或b”在Perl中不起作用?

  5. 5

    为什么\ b在python re模块中不起作用?

  6. 6

    -c和-b选项在ubuntu的mailx中不起作用

  7. 7

    为什么[“ A”,“ B”,“ C”]。map(String.prototype.toLowerCase.call)不起作用?

  8. 8

    为什么[“ A”,“ B”,“ C”]。map(String.prototype.toLowerCase.call)不起作用?

  9. 9

    为什么if else结构在c ++中不起作用?

  10. 10

    为什么此C代码在JavaScript中不起作用?

  11. 11

    为什么隐藏方法在C#中不起作用

  12. 12

    链表(在C中)为什么不起作用

  13. 13

    为什么 strcmp 在 c 中不起作用?

  14. 14

    为什么 C 中的这个 while 循环不起作用?

  15. 15

    退格键在Vim中不起作用

  16. 16

    为什么“ \ b”在find的正则表达式模式中不起作用?

  17. 17

    为什么'sort {$ a- $ b}(浮点数列表)'在Perl中不起作用?

  18. 18

    为什么函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用?

  19. 19

    Vim中的键绑定-<C-ç>不起作用

  20. 20

    为什么转义符\ b在前几行不起作用?

  21. 21

    您好,为什么我的按钮B不起作用?

  22. 22

    为什么带有jmp指令的shellcode起作用,为什么标签在C包装器中不起作用?

  23. 23

    为什么隐藏所有命令在命令行(Windows)中不起作用:git --git-dir = c / a.git --work-tree = c / b status -a?

  24. 24

    为什么通过指针交换在C ++中的向量中不起作用?

  25. 25

    在Matlab中,什么时候Ctrl + C不起作用?为什么?

  26. 26

    为什么在Ubuntu中按箭头键时终端会显示“ ^ [[A”“ ^ [[B”“ ^ [[C”“ ^ [[D”?

  27. 27

    箭头不起作用,我只看到^ [[A ^ [[B ^ [[C ^ [[D

  28. 28

    为什么ArrayList作为HashMap中的键不起作用?

  29. 29

    为什么键盘键在Selenium WebDriver中不起作用?

热门标签

归档