自定义 C++ cout 类 - 输出到控制台和日志文件

2023-11-22

我正在开发一个大量使用“cout

我正在使用 Visual Studio 2008。我已经看到了这个帖子Google 网上论坛:将 cout 重定向到文件,这似乎正是我想做的。唯一的问题是代码无法编译。我在 ->overflow() 和 ->sync() 方法调用上收到 C2248 错误“无法访问受保护的成员”。

有人知道如何编译这段代码吗?或者同时将 cout 重定向到控制台和文件的替代方法?


The boost::iostreams::tee_device就是为此而生的

#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/tee.hpp>

#include <fstream>
#include <iostream>

int
main()
{
    typedef boost::iostreams::tee_device<std::ostream, std::ofstream> Tee;
    typedef boost::iostreams::stream<Tee> TeeStream;

    std::ofstream file( "foo.out" );
    Tee tee( std::cout, file );

    TeeStream both( tee );

    both << "this goes to both std::cout and foo.out" << std::endl;

    return 0;
}

示例调用:

samm$ ./a.out
this goes to both std::cout and foo.out
samm$ cat foo.out
this goes to both std::cout and foo.out
samm$ 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义 C++ cout 类 - 输出到控制台和日志文件 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 在搜索 List 时,为什么 Enumerable.Any(Func predicate) 比带有 if 语句的 foreach 慢

    最近有件事引起了我的好奇心 Why is the Enumerable Any Func
  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 即使手动设置显示环境变量后,WSL Ubuntu 也会显示“错误:无法打开显示”

    我在 WSL Ubuntu 上使用 g 我使用 git 克隆了 GLFW 存储库 使用了ccmake命令配置并生成二进制文件 然后使用make在 build 目录中最终创建 a文件 我安装了所有OpenGL相关的库 usr ld 我不记得我
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • 当前的 x86 架构是否支持非临时加载(来自“正常”内存)?

    我知道有关此主题的多个问题 但是 我没有看到任何明确的答案或任何基准测量 因此 我创建了一个处理两个整数数组的简单程序 第一个数组a非常大 64 MB 第二个数组b很小 无法放入 L1 缓存 程序迭代a并将其元素添加到相应的元素中b在模块化
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 实例化 Microsoft.Office.Interop.Excel.Application 对象时出现错误:800700c1

    实例化 Microsoft Office Interop Excel Application 以从 winforms 应用程序生成 Excel 时 出现以下错误 这之前是有效的 但突然间它停止工作了 尽管代码和 Excel 版本没有变化 我

随机推荐

  • 如何根据色标对 voronoi 进行着色?以及每个单元格的面积

    是否可以上色scipy spatial Voronoi图表 我知道它是 但现在我的目标是根据色标对每个单元格进行着色以表示物理量 如下图所示 PRL 107 155704 2011 我还想知道是否可以计算每个单元格的面积 因为这是我想计算的
  • MongoDB 如何处理并发更新?

    我开始在工作中使用 MongoDB 到目前为止一切顺利 我想知道 MongoDB 如何处理并发更新 我读到 MongoDB 中没有锁定功能 所以我想知道处理这个问题的常见做法是什么 Thanks MongoDB 使用进程范围的写锁来保证一次
  • 一页中包含多个 Facebook、Twitter 共享按钮,并带有自定义图像和标题

    我正在创建一个博客 其中登陆页面默认会显示 5 篇最新帖子 并且每篇帖子上都会有一个 Facebook 和 Twitter 分享按钮 我需要每个共享按钮都附加一个默认标题 描述和图像 并且我使用打开的图表来附加数据 问题是如何为每个共享按钮
  • Android:如何像联系人应用程序中那样使用字母索引器和快速滚动填充 ListView?

    我想实现一个带有 fastscroll 和 albhabet 索引器的 ListView 就像在联系人应用程序中一样 我正在使用 SimpleAdapter 来填充 ListView 从图中可以看出 通过从右侧的字母索引器中选择一个字母 l
  • Kotlin:coroutineScope 比 GlobalScope 慢

    我正在学习协程 并且遇到了以下令人惊讶的 对我来说 行为 我想要一张平行地图 我考虑了4种解决方案 Just map 无并行性 pmap from here 修改第2项 我删除了coroutineScope并使用GlobalScope Ja
  • “将密码显示为文本”控件

    我有一个常用的登录表单 由两个输入字段组成 一个用于登录 一个用于密码 我目前正在尝试添加一个控件 它将输入的密码显示为纯文本 以便用户可以检查它是否有拼写错误 我见过几种不同的方法来完成这项任务 包括this one 但它们仅在输入密码时
  • 在 Java 应用程序中读取 XML 文件的最佳/最简单方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 目前 我们的 Java 应用程序使用制表符分隔的 cfg 文件中保存的值 我们需要更改此应用程序 以便它现在使用 XML 文件 为了从此文件中读取值
  • JWT 令牌接受的最大过期时间是多少

    我想知道我可以设置 JWT 令牌过期的最大值是多少 Thanks 没有关于过期时间的规定 这主要取决于令牌使用的上下文 RFC7519 第 4 节 JWT 必须包含才能被视为有效的声明集取决于上下文 并且超出了本规范的范围 因此 您可以认为
  • 如何使用 spring-data 在 mongodb 中创建全文搜索查询?

    我在 java 或 kotlin 上有 spring data mongodb 应用程序 需要通过 spring 模板创建对 mongodb 的文本搜索请求 在 mongo shell 中它看起来像这样 db stores find tex
  • Azure 函数的模拟 BlobClient

    我有一个具有 Blob 触发器的 Azure 函数 在我的函数方法参数中 我通过 BlobClient 公开 Blob 本身以及上传 的文件的名称 FunctionName MyFunc public async Task RunAsync
  • PHP 中是否记录了这种对 exit 和 die 的特殊处理?

    我刚刚读过该页面表达式在 PHP 文档中 在顶部它说 定义表达式的最简单但最准确的方法是 任何具有值的东西 这个简单的定义包括所有函数和大多数语言构造 但是有一些语言构造明确声明它们不返回值 以下是确实返回值的语言结构的列表 empty e
  • 如何在 matplotlib 中使用 Font Awesome 符号作为标记

    是否可以在 matplotlib 中使用字体精美的图标作为散点图中的标记 或者是否可以将其用作字体并将图标作为 文本 This question has originally been asked here but has been clo
  • Python解析括号内的块

    Python 中解析匹配括号中包含的文本块的最佳方法是什么 a b c 最初应该返回 a b c 将其作为输入应该返回 a b c 应该返回 c c 或者这个 pyparsing 版本 gt gt gt from pyparsing imp
  • Apache Solr 中的外部文件字段

    我一直在尝试使用 ApacheSolr 中的ExternalFileField 进行外部评分 我正在使用示例配置 基本上我想使用它们的 id 为项目设置分数 我在 schema xml 中设置了 fieldType idRankFile 和
  • 增量本地化如何运作?

    我正在尝试构建我的第一个本地化应用程序 我使用 NSLocalizedString 翻译了代码中的所有字符串 用于genstrings工具 现在我遇到了ibtool 增量本地化如何运作 关于手册页 我应该写这样的内容 ibtool prev
  • 使用命名参数格式化 Lisp 字符串

    Lisp 有没有办法使用命名参数来格式化字符串 也许与关联列表类似 format t All for who a and who a for all who one 为了打印 All for one and one for all 如同这个
  • OpenID Over SSL 并带有自签名证书

    我在我的个人服务器上设置了自己的开放 ID 提供程序 并在我的 apache 配置文件中添加了到 https 的重定向 当不使用安全连接时 当我禁用重定向时 我可以正常登录 但使用重定向时 我无法登录并显示以下错误消息 底层连接已关闭 无法
  • 错误 415 不支持的媒体类型:如果是 JSON,则 POST 无法到达 REST,但如果是 XML,则可以

    我实际上是 REST WS 的新手 但我真的不明白415 Unsupported Media Type 我正在 Firefox 上使用 Poster 测试我的 RESTGET对我来说效果很好 也POST 当它是一个application x
  • 如何在 C# < 6 中模拟 C# 6 null 条件

    使用 C 6 0 我可以做到这一点 var isEqual x Id y Id x UpdatedAt y UpdatedAt x Name y Name x RulesUrl y RulesUrl x OngoingChallenges
  • 自定义 C++ cout 类 - 输出到控制台和日志文件

    我正在开发一个大量使用 cout 我正在使用 Visual Studio 2008 我已经看到了这个帖子Google 网上论坛 将 cout 重定向到文件 这似乎正是我想做的 唯一的问题是代码无法编译 我在 gt overflow 和 gt