类自定义操纵器

2023-12-21

我正在尝试编写一个带参数的流操纵器。 我有 3 个整数的 CDate(年、月、日)课程。 所以我需要制作操纵器date_format(const char*)。 例如:

CDate a(2006, 5, 15);
cout <<"DATE IS : " << date_format("%Y-hello-%d-world-%m-something-%d%d") << a;

输出将是:

DATE IS : 2006-hello-15-world-5-something-1515

我想我需要用它

ios_base & dummy_date_format_manipulator ( ios_base & x )
{
    return x;
}

ios_base & ( * ( date_format ( const char * fmt ) ) )( ios_base & x )
{
    return dummy_date_format_manipulator;
}

但我不知道怎么办。


您可以使用pword为此数组。 C++ 中的每个 iostream 都有两个与其关联的数组。

ios_base::iword - array of ints
ios_base::pword - array of void* pointers

您可以在其中存储您自己的数据。获取索引,即引用所有元素中的空元素iword and pword你应该使用函数的数组std::ios_base::xalloc()。它返回 int,您可以将其用作唯一索引*word。 您应该在启动时获取该索引一次,然后将其用于所有操作*word.

然后编写您自己的 manip 将如下所示:

操纵器函数,接收对ios_base对象和指向格式字符串的指针,只需将该指针存储在pword

iosObject.pword(index_from_xalloc) = formatString

然后重载运算符<< (>>) 以同样的方式从 iostream 对象获取格式字符串。之后,您只需参考格式进行转换即可。

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

类自定义操纵器 的相关文章

随机推荐

  • 如何获得“nls”对象的漂亮乳胶输出

    我需要 nls 对象的 LaTex 表示 不幸的是 stargazer 不支持这种对象类型 网上的一些研究使我从 nls2 库中找到了 as lm nls 函数 它声称将 nls 对象转换为相应的 lm 对象 就我而言 它惨遭失败 以下是示
  • 对组中的浮点数列表进行排序

    我有一个浮点数数组 它是无序的 我知道这些值总是落在几个未知的点附近 为了便于说明 此列表 10 01 5 001 4 89 5 1 9 9 10 1 5 05 4 99 值集中在 5 和 10 附近 所以我想要 5 10 作为答案 我想找
  • 修改 htmlpurifier 允许的标记

    我的 html 净化器设置现在只允许这些标签 configuration gt set HTML Allowed p ul ol li 我想允许列表缩进 我的编辑器使用这个 html ul style margin left 40px 我应
  • android studio新建项目看不到src文件夹

    重新安装 android studio 后 我创建了一个新项目 MyapplicationProject 在 Windows 资源管理器中我看到所有文件夹 MyapplicationProject Myapplication libs sr
  • 在XSLT中声明全局变量,在本地重新赋值

    我可以在全局范围内声明一个值为 111 的变量 myVariable 但如何在本地重新赋值呢 或者有其他方法可以实现这一目标 请帮忙 谢谢 拉维 您可以在模板内重新定义相同的变量
  • “QwtLog10ScaleEngine”之前需要类型说明符吗?

    版本 qwt 6 0 1 我尝试开发频谱的对数缩放 我使用简单的线条来启用缩放plotspectrum gt setAxisScaleEngine QwtPlot yLeft new QwtLog10ScaleEngine 问题 数据未绘制
  • 如何在 Mac OS X 中生成核心转储?

    我似乎无法在 Mac OS X 10 6 8 中生成核心转储 ulimit c unlimited a out Hello world Segmentation fault find type f name core ls la cores
  • 如何在 java 中使用 Apache POI XWPF 将图片添加到 .docx 文档

    我使用 Java POI 3 7 创建了一个简单的 docx 文档 XWPF 然后 我添加了一张图片 使用该方法XWPFDocument addpicture byte arg0 int arg1 XWPFDocument docx new
  • 使用 NodeJS 和 node-formidable 上传文件

    我使用node js和强大的模块成功上传文件 保存在磁盘上的文件格式错误 编码错误 例如如果我上传图像我无法查看它 如果我上传 txt 文件 gedit 提供以下消息 gedit 无法检测到字符编码 请检查您是否没有尝试打开二进制文件 从菜
  • HSQLDB 语句和 Java NaN 双精度

    我目前正在使用 HSQLDB 来保存 java 数据 在这些数据中 有一些 Double 其中一些可以是以下值 NaN 被形容为0 0 0 0在 javadoc 中 HSQLDB 知道如何处理这些值setDouble and setFloa
  • 如果语句和大括号..有/没有不同的结果

    好吧 我正在学习 C 在使用其中一个教程时遇到了一种奇怪的效果 但我不太明白它发生的情况 对于本教程 从提供的示例中复制 我在类模板专业化中编写了一个函数 用于检查 char 是否为小写 然后将其变为大写 char uppercase ch
  • React js中的条件渲染(多条件内的条件)

    其实我正在尝试hide and show一些 html 元素react 我创建了一个员工表单 其中有多个分区 例如个人信息 联系信息等 我在表单中创建了下一个和上一个按钮来显示和隐藏表单中的其他分区 有一个分区需要填写教育详细信息 因此我选
  • 如何处理JodaTime和Android的时区数据库差异?

    我想扩展我在 Reddit Android 开发社区开始的讨论昨天 http www reddit com r androiddev comments 320rz5 im convinced jodatime is not a good l
  • 合并具有相同 ID 变量的行[重复]

    这个问题在这里已经有答案了 我在 R 中有一个数据帧 包含 38 个变量的 2186 个 obs 行有一个 ID 变量 引用独特的实验并使用 length unique df ID nrow df n occur lt data frame
  • 将具有多变量函数的列表变量的数据框应用到具有函数参数的数据框

    该数据框包含我所说的 数据 library tidyverse df d lt data frame key c cat cat dog dog value 1 c 1 2 3 4 value 2 c 2 4 6 8 这是一个数据框 我打算
  • 为什么 C++17 中没有 std::future::then ?

    boost future有一个成员函数 boost future then while std future has no std future then This 精彩的文章 https bartoszmilewski com 2014
  • Jquery Cycle — 多个嵌套幻灯片和循环终止

    我正在尝试使用 jQuery Cycle 插件构建一个幻灯片 该插件在一些顶级幻灯片中包含另一层嵌套幻灯片 主 容器 幻灯片水平滑动 然后 对于左侧包含多个图像的 容器 幻灯片 这些图像垂直向上滑动 此处示例 因为我认为很难想象 http
  • .htaccess 中的 301 重定向是否需要按优先级顺序排列?

    我有一个已重新开发的网站 网址完全不同 我有数百个或 301 要做 许多原始 URL 非常长 我不知道为什么 并且我得到了一些有趣的结果 其中一些重定向正在发生 而另一些正在重定向 但重定向到奇怪的 URL 我想知道301是否有特定的订单需
  • 调整页面内容大小以适合一页打印

    在我看来 这个问题与CSS更相关 但我对任何解决方案持开放态度 我正在尝试打印一个高度以 px 为单位定义的网页 我也尝试过 现在 Safari 和 IE 8 及更高版本中发生的情况是 页面内容不会打印在一页上 当前设置 div paren
  • 类自定义操纵器

    我正在尝试编写一个带参数的流操纵器 我有 3 个整数的 CDate 年 月 日 课程 所以我需要制作操纵器date format const char 例如 CDate a 2006 5 15 cout lt lt DATE IS lt l