C++:用 istream 包装 vector

2024-04-24

我想包一个vector<char> with std::istream(因此读取向量将通过istream界面)

有什么方法可以做到呢?


你会定义一个streambuf子类包装vector,并将其实例传递给 istream 构造函数。

如果构造后数据没有改变,则使用以下命令设置数据指针就足够了streambuf::setg();其他成员的默认实现做了正确的事情:

template<typename CharT, typename TraitsT = std::char_traits<CharT> >
class vectorwrapbuf : public std::basic_streambuf<CharT, TraitsT> {
public:
    vectorwrapbuf(std::vector<CharT> &vec) {
        setg(vec.data(), vec.data(), vec.data() + vec.size());
    }
};

std::vector<char> data;
// ...
vectorwrapbuf<char> databuf(data)
std::istream is(&databuf);

如果您需要比这更高级的东西,请覆盖streambuf::underflow method.

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

C++:用 istream 包装 vector 的相关文章

  • 双线性序列给出奇数结果

    我试图让我的表现技能 不存在 达到标准 但在将公式写入代码时遇到了问题 这是我试图将其引用为 转换 为代码的公式 考虑一个序列 u 其中 u 定义如下 号码u 0 1是第一个u 对于每个x in u then y 2 x 1 and z 3
  • C语言中的递归是如何工作的?

    我试图了解 C 中递归的工作原理 任何人都可以给我解释控制流吗 include
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • WP8.1 C# 绑定联系人图像

    信息很简单 我正在尝试创建一个可以显示用户联系人的应用程序 我也是一名自学成才的程序员 所以我在某些方面有编程经验 但总体来说我对数据绑定相对较新 首先 我有一个 ListView 控件 其中包含图像绑定
  • 在调用堆栈中看到大量 clr!CLR Semaphore::Wait

    我们看到很多像下面这样的调用堆栈 我可以知道什么条件 情况会发生这种情况吗 OS Thread Id 0x48654 559 Current frame ntdll NtWaitForSingleObject 0xa Child SP Re
  • 每次调用新方法时触发事件

    我正在做一个logger for a c 应用程序需要记录每个方法被调用的时间以及每个方法执行时间 我可以通过调用自己的方法来做到这一点EventLogger LogMethodCall方法在每个方法的开头 但我想知道是否有办法使CLR每次
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 使用 size_t 值反向遍历向量

    我想以相反的方向遍历向量的值 如您所知 向量的大小为 size t 当我使用以下代码时 for size t r m size 1 r gt 0 r x r f r for size t c r 1 c lt m size c x r m
  • 求一个数的因数。无法得到准确的结果

    有人可以帮助纠正我的算法吗 我已经对几个数字进行了测试 但它没有输出完整的因式分解 对于具有大量因子的数字 它完全失败 int num 20 for int i 2 i lt num i if num i 0 cout lt lt i lt
  • 读取STM32 MCU SPI数据寄存器的值

    有很多类似的问题 但似乎没有一个问题完全相同 我正在将 STML4 MCU 连接到 6 轴传感器 LSM6DS3 我已经成功地在 I2C 中实现了所有内容 但想要 SPI 的额外速度 和 DMA 如果我能让这些第一步工作起来的话 因此 第一
  • 按值返回的函数的返回语句中的初始化

    我的问题源于深入研究std move in return语句 例如以下示例 struct A A std cout lt lt Constructed lt lt this lt lt std endl A A noexcept std c
  • 非静态类中的静态方法和静态类中的静态方法有什么区别?

    我有两个班级A级和B级 static class ClassA static string SomeMethod return I am a Static Method class ClassB static string SomeMeth
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • 字符串 c 的二叉树

    我正在尝试实现一个能够在 c 中保存字符串的二叉树 在让代码适用于整数之后 我尝试稍微修改它以处理字符数组 现在我似乎完全破解了代码 但不知道如何破解 任何帮助表示赞赏 include
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • 扔掉挥发物安全吗?

    大多数时候 我都是这样做的 class a public a i 100 OK delete int j Compiler happy But is it safe The following code will lead compilat
  • 如何在用户空间程序中使用内核 libcrc32c (或相同的函数)?

    我想在我自己的用户空间程序中进行一些 CRC 检查 我发现内核加密库已经在系统中 并且支持 SSE4 2 我尝试直接 include
  • 类模板的 C++ 静态成员 - 链接器警告“多重定义”[重复]

    这个问题在这里已经有答案了 假设出于某种原因 我想要一个类模板 MyTemp 和一些静态数据成员 smDummyVar Mytemp h ifndef MY TEMP H define MY TEMP H template

随机推荐

  • 在 socket.io-client 中调用 IO 时出现错误,角度 8

    我在我的 Angular 项目中调用 socket io client 的 IO 如下所示 import Injectable from angular core import Observable from rxjs internal O
  • 在未压缩的 PDF 中进行集体内联编辑

    我有一个很大的 PDF 20mb 160mb 未压缩 我需要在其中的文本中进行查找和替换 大约 1000 次 这是我尝试过的 Via SVG 转换为 SVG inkscape 逐行读取 SVG 并在文件中进行替换 转换回 PDF gt 输出
  • 如何与android的静态boost库链接?

    我在使用 Android ndk r5b 将 boost 库移植和链接到 android 时遇到问题 我首先使用以下步骤构建 boost 库 没有 mpi python 1 注释掉boost 1 46 0 libs thread build
  • 如何在 Scikit-learn 聚合聚类中使用 Pearson 相关性作为距离度量

    我有以下内容data http dpaste com 031VZPM txt State Murder Assault UrbanPop Rape Alabama 13 200 236 58 21 200 Alaska 10 000 263
  • Azure API 管理和 ASMX/WSDL SOAP 端点?

    我有一个使用 ASMX 终结点的旧 SOAP API Azure API 管理能够识别它并与之交互吗 还有更多人对此功能感兴趣 反馈 azure com http feedback azure com forums 248703 api m
  • 我们如何在python的“openpyxl”包中绘制两个系列的数据(折线图)

    假设我们有这样的代码 from openpyxl import Workbook wb Workbook ws wb active for row in range 1 10 value ws cell row row column 1 v
  • 是否可以/建议返回一个范围?

    我正在使用范围库来帮助我的类中的文件管理器数据 如下所示 class MyClass public MyClass std vector
  • 更改 TabBar SwiftUI 中的选项卡选择颜色

    我试图更改 TabBar 中选定选项卡的颜色 但没有任何效果 我可以更改 TabBarbackgroundColor通过写作 struct ContentView View init UITabBar appearance backgrou
  • 使用 knockout.js 防止双击按钮

    禁用按钮以便 Knockout js 不会发生双击的最佳方法是什么 我有一些用户快速点击导致多个 ajax 请求 我认为 knockout js 可以通过多种方式处理这个问题 并希望看到一些替代方案 使用信号量 旋转锁 基本上 您计算一个元
  • MongoDB 将所有现有索引迁移到新数据库

    我有一个 MongoDB 开发集群 随着时间的推移 我在其中创建索引 作为开发改进的一部分 在测试 生产 MongoDB 集群上 我也想维护相同的索引 那么我如何获取现有集合的所有索引并在新数据库上创建相同的集合索引 从 mongo she
  • 在 Access 2007 中使用 ADO 或 DAO 哪个更好?

    在Access 2007中创建新数据库时 应该使用ADO ActiveX数据对象 还是DAO 数据访问对象 编辑 该数据库的一部分将从 Excel 2007 电子表格导入数据 郑重声明 曾经的 Jet 的正式名称现在是 Access 数据库
  • magento从产品sku获取产品类型

    我如何使用产品 sku 或 id 获取产品类型 简单 可配置 分组 我已加载产品集合并从中尝试通过 product gt getTypeId 但它不打印产品类型 请帮我 Thanks I think product gt getTypeId
  • ANTLR 嵌套函数

    ANTLR 适合这个项目吗 我正在寻找处理和转换用户输入的字符串 其中可能包含自定义函数 例如 用户可能会在字符串中写入类似 CAPITALIZE word 的内容 而我想执行 使用 StringUtils 在后台进行实际转换 我想用户有时
  • 查询返回的结果多于预期

    请耐心等待 这并不是我真正的问题 只是想让别人理解 作者注 The 可能重复 https stackoverflow com questions 4966203 mongo query question gt lt问题解决方案允许 elem
  • ggplot 中十分位数的低、中高颜色

    我想使用 ggplot 绘制多边形类型的空间图 其中绘制多边形 多边形的颜色由其权重决定 示例数据框看起来像 这是数据文件完整的数据文件 https dl dropboxusercontent com u 55346033 sampleDa
  • Gmail 邮件可以通过 API 存档吗?

    似乎无法使用 API 来存档邮件 在 Web 界面中归档涉及moving 而不是labeling发送至 所有邮件 的消息 API 不仅没有列出 所有邮件 标签 而且move也失踪了 只有modify这仅允许在消息中添加或删除标签 这很奇怪
  • 保护 Azure 云服务配置中的敏感信息

    我们正在使用云服务配置 https learn microsoft com en us previous versions azure reference jj156212 v 3Dazure 100 存储应用程序设置 但我们想保护一些应用
  • 电子邮件安全:TLS 和 S/MIME

    我的理解是 TLS 是一种加密技术 允许两个 STMP 服务器安全地相互通信 如果使用 HTTPS 连接到 STMP 服务器 与使用 S MIME 相同吗 不会 TLS 会对通信通道进行加密 S MIME 对消息进行加密 也就是说 这就是
  • System.Web.Security.FormsAuthentication.Encrypt 返回 null

    我正在尝试加密一些 userData 以使用 Forms 身份验证创建我自己的自定义 IPrincipal 和 IIdentity 对象 我已将代表我登录用户的对象序列化为 Json 并创建了我的 FormsAuthentication 票
  • C++:用 istream 包装 vector

    我想包一个vector