C++ Console Progress Indicator

后端 未结 4 661
一生所求
一生所求 2021-02-08 23:13

What would be an easy way of implementing a console-based progress indicator for a task that\'s being executed, but I can\'t anticipate how much time it would take?

I us

4条回答
  •  既然无缘
    2021-02-08 23:45

    A very simple way to do it is to print out a string followed by a '\r' character. That is carriage return by itself and on most consoles, it returns the cursor to the beginning of the line without moving down. That allows you to overwrite the current line.

    If you are writing to stdout or cout or clog remember to fflush or std::flush the stream to make it output the line immediately. If you are writing to stderr or cerr then the stream is unbuffered and all output is immediate (and inefficient).

    A more complicated way to do it is to get into using a screen drawing library like curses. The Windows consoles have some other ways of setting them for direct screen writing but I don't know what they are.

提交回复
热议问题