将std :: cout重绕以返回到行的开头

fbr*_*eto 23 c++ macos terminal stdout output-formatting

我正在为Mac OS X编写一个处理大量文件的命令行工具.我想向用户显示当前正在处理的文件,但不想一个bazillion文件污染的终端窗口.

相反,我想用一个单一的行输出的文件路径,然后再用该行下一个文件.是否有要输出的字符(或其他代码)std::cout来完成此操作?

另外,如果我想为Windows重新定位此工具,那么两个平台的解决方案是否相同?

Log*_*ldo 22

"\ r"应适用于Windows和Mac OS X.

就像是:

std::cout << "will not see this\rwill see this" << std::flush;
std::cout << std::endl; // all done
Run Code Online (Sandbox Code Playgroud)

  • 那实际上会打印“”将会看到这个” (2认同)