设为首页收藏本站

ISO/IEC C++ China Unofficial

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 261|回复: 13

[黑科技予定]模板模板参数格式化输入输出

[复制链接]

10

主题

108

帖子

461

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
342
贡献
3
发表于 2015-12-3 01:55:24 | 显示全部楼层 |阅读模式
本帖最后由 LH_Mouse 于 2015-12-3 12:04 编辑

嘛大概看起来像这样:
  1. std::string str = my_sprintf<_d, _c, _s, _c, _f>(1, ',', "23", ',', 4.56);
  2. std::cout <<str; // 1,23,4.56
复制代码


[edit]
另一个原因是 std::istream 不支持像 sscanf("%d,%d", ...) 这样强制匹配一个逗号的写法,而只能先读一个 char 再判断是否是逗号。
[/edit]
We will prevail!! www.lhmouse.com
回复

使用道具 举报

9

主题

25

帖子

137

积分

注册会员

魔理魔理魔~

Rank: 2

威望
5
经验
97
贡献
5
发表于 2015-12-3 03:42:29 | 显示全部楼层
没必要输出吧...直接写
my_sprintf<_d, _c, _s, _c, _f>(1, ',', "23", ',', 4.56) == "1,23,4.56"不就好...

点评

meow  发表于 2015-12-4 04:46
摸头。  发表于 2015-12-3 09:18
シー!沙沙不要打击吱的积极性(´・ノω・`)コッソリ  发表于 2015-12-3 08:42
Yare Yare Daze
回复 支持 反对

使用道具 举报

5

主题

33

帖子

88

积分

超级版主

Rank: 8Rank: 8

威望
0
经验
55
贡献
0
发表于 2015-12-3 08:43:36 | 显示全部楼层

点评

这个看起来蛮吊, 有谁用过没?  发表于 2015-12-3 11:02
回复 支持 反对

使用道具 举报

8

主题

64

帖子

269

积分

超级版主

Rank: 8Rank: 8

威望
12
经验
169
贡献
12
发表于 2015-12-3 08:45:42 | 显示全部楼层
说来这个我项目上一直用的是boost::str + boost::format,虽然解析是在运行期

点评

所以不爽。  发表于 2015-12-3 09:20
回复 支持 反对

使用道具 举报

10

主题

108

帖子

461

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
342
贡献
3
 楼主| 发表于 2015-12-3 09:23:42 | 显示全部楼层
幻の上帝 发表于 2015-12-3 08:43
能吊打这货么:
https://github.com/cppformat/cppformat

效率将不会是卖点之一。这里主要的卖点是编译期模式,另一个就是ヲ实在看 skipws 一类瞎脑补的不爽。

点评

都编译时还打不过运行时的么……  发表于 2015-12-4 12:24
编译期确实不错, 叼~  发表于 2015-12-3 11:03
We will prevail!! www.lhmouse.com
回复 支持 反对

使用道具 举报

0

主题

6

帖子

37

积分

新手上路

Rank: 1

威望
0
经验
31
贡献
0
发表于 2015-12-3 12:03:18 | 显示全部楼层
看起来确实不错呀
话说我总是不自觉用printf把cout替换了……
啊啊
回复 支持 反对

使用道具 举报

0

主题

10

帖子

45

积分

新手上路

Rank: 1

威望
1
经验
32
贡献
1
发表于 2015-12-3 12:22:59 | 显示全部楼层
还是要显式写出 _d _s 这种不爽啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ISO/IEC C++ China Unofficial    

GMT+8, 2017-6-24 01:10 , Processed in 0.062380 second(s), 33 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表