【问题标题】:Get number of Lines in Console获取控制台中的行数
【发布时间】:2018-05-12 23:35:56
【问题描述】:

我正在用 C++ 创建一个程序,它将许多(数百)行打印到控制台。我想知道控制台输出中有多少行。此外,跟踪我couted 的每个endl 的解决方案将是乏味的,因为有很多很多不同的地方可以完成此操作。

基本上,如果我有以下代码:

for (int n = 0; n < 1000; n++) {

    cout << "hi" << endl << endl;

}

然后我想要一个函数来告诉我控制台有 2000 行长。

【问题讨论】:

  • 考虑将您的输出定向到std::cout 以外的流。然后,您可以在更新行数等信息后将该流重定向到您喜欢的任何位置。
  • 此时,更改所有std::couts 会很乏味,因为它们太多了。还有其他解决办法吗?
  • 这是另一个想法:stackoverflow.com/questions/5174174/…
  • 如果您想要快速和肮脏,您可以运行搜索替换并保留(喘气)全局流实例。
  • 即使在最轻量级的 IDE 中,您也可以在 5 秒内更改所有 couts。

标签: c++


【解决方案1】:

它并不优雅,但你可以使用另一个索引。

int numLines = 0;
for (int n = 0; n < 1000; ++n) {
    std::cout << "hi" << std::endl;
    ++numLines;
}
// ...
// call this when the program finishes
std::cout << "Number of lines: " << numLines << std::endl;

编辑:也适用于多个 endl 命令,您只需要记住为每次调用增加一次索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    相关资源
    最近更新 更多