6.5转3.5转换器,多功能格式转换器2.8

  6.5转3.5转换器,多功能格式转换器2.8

  4.6.2通用转换器Boost: Lexical _ Cast-51CTO。计算机输出缩微胶片

  4.6.2通用转换器Boost:Lexical _ Cast 2009-07-08 11:51白桥/左飞电子工业出版社我要评论(0)字号:T T综合评分:

  我想读(0)我在读(0)我读过(5)我在学(2)已经有五个人发表了书评。

  055-79000第4章对象的分配和转换。本章介绍了对象的初始化(从头开始)和赋值(从A到B),讨论了如何进行对象的类型和数值变换,并结合我们经常遇到的数学运算和字符编码问题进行了讨论。这一节是关于通用转换器boost:lexical_cast。

  广告:

  4.6.2通用转换器boost:lexical_cast

  Boost: musical _ cast提供了一个数值之间转换的包,比如:将一个字符串‘123’转换成整数123,代码如下:

  strings= 123

  inta=lexical_cast int

  这个方法很简单。我强烈建议你忘记std的很多功能,直接用Boost: musical _ cast。如果转换中出现意外,musical _ cast会抛出bad _ musical _ cast异常,所以需要在程序中进行捕捉。

  现在做吧。

  写以下程序,体验如何使用boost: lexical_cast完成数值转换。

  【程序4-11】使用boost: lexical_cast完成对象的数值转换。

  01 #包含“stdafx.h”

  02

  03 #包括iostream

  04 #包含boost/lexical_cast.hpp

  05

  06usingnamespacestd

  07usingnamespaceboost

  08

  09intmain()

  10{

  11strings= 123

  12inta=lexical_cast int

  13doubleb=lexical_cast double

  14

  15printf(%drn ,a 1);

  16printf(%lfrn ,B1);

  17

  18年

  19{

  20 intc=lexical _ cast int( wrong number );

  21}

  22catch(bad_lexical_cast e)

  23{

  24printf(%srn ,e . what());

  25}

  26

  27return028}

  如上,程序实现了字符串 123 到整数和双精度实数的转换(为了防止程序作弊,我们特意让它在值上加1),结果输出如图4-19所示。

6.5转3.5转换器,多功能格式转换器2.8