当前位置: 首页>>代码示例>>C++>>正文


C++ ofstream::copyfmt方法代码示例

本文整理汇总了C++中ofstream::copyfmt方法的典型用法代码示例。如果您正苦于以下问题:C++ ofstream::copyfmt方法的具体用法?C++ ofstream::copyfmt怎么用?C++ ofstream::copyfmt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ofstream的用法示例。


在下文中一共展示了ofstream::copyfmt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Log

  Log() {
    n = 0;
    done = false;

    output.open(LOG_FILE);
    if (!output.is_open()) {
      output.copyfmt(cout);
      output.clear(cout.rdstate());
      output.basic_ios<char>::rdbuf(cout.rdbuf());
    }

    logStartTime = chrono::high_resolution_clock::now();
    t = thread([&]() {

      Report report;
      while (!done) {
        for (int i = 0; i < NUMBER_OF_QUEUES; ++i)
          while (queue[i].pop(report))  // XXX change to if to avoid starvation?
            priority.push(report);

        double now = chrono::duration_cast<chrono::duration<double>>(
            chrono::high_resolution_clock::now() - logStartTime).count();
        while ((!priority.empty()) && ((now - priority.top().time) > 0.5)) {
          output << priority.top().text << endl;
          priority.pop();
        }

        usleep(WAIT_MICROSECONDS);
      }

      for (int i = 0; i < NUMBER_OF_QUEUES; ++i)
        while (queue[i].pop(report))
          priority.push(report);

      while (!priority.empty()) {
        output << priority.top().text << endl;
        priority.pop();
      }
    });
  }
开发者ID:mantaraya36,项目名称:cuttlebone,代码行数:40,代码来源:Log.hpp


注:本文中的ofstream::copyfmt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。