相关疑难解决方法(0)

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

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

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

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

c++ macos terminal stdout output-formatting

23
推荐指数
1
解决办法
3万
查看次数

如何使用printf制作"进度条"?

许多命令行工具实现了基于文本的进度条.像rpm安装一样:

安装############## [45%]

#随着百分比的增长而增长,同时保持一条线.我想要的是类似的东西:我需要一个进度指示器只占一行,也就是说,当百分比增长时,它被覆盖,而不是创建一个新行(\n).

我试过这个:

   #include <stdio.h>

   int main (){
       int i = 0;
       for (i = 0; i < 10000; i++){
           printf("\rIn progress %d", i/100);
       }
       printf("\n");
   }
Run Code Online (Sandbox Code Playgroud)

\r可以覆盖单行.但是,\r将光标移到行的开头printf并将光标移到末尾,这会导致光标快速波动.你们可以通过一点点编译来感受它.任何人都可以提出替代方案来避免这个问题吗?

c printf

19
推荐指数
1
解决办法
2万
查看次数

C++控制台进度指示器

对于正在执行的任务,实现基于控制台的进度指示器的简单方法是什么,但我无法预测需要多长时间?

当我用Clipper编码时,我常常这样做,而这只是迭代字符'/',' - ','\','|'的问题.并将它们放在同一个地方.

在C++中用于实现(或类似)的任何方式/链接/库?

目标是*nix环境.

编辑:

  • 将标题改为更加连贯和通用;
  • 增加了目标环境.

c++ linux console

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×2

c ×1

console ×1

linux ×1

macos ×1

output-formatting ×1

printf ×1

stdout ×1

terminal ×1