BOOST 类型转换(lexical_cast)崩溃问题

来源:互联网 发布:红蜘蛛教学软件介绍 编辑:程序博客网 时间:2024/03/29 21:14

lexical_cast库说明

lexical_cast库进行“字面量”的转换,类似C中的atoi函数,可以进行字符串、整数/浮点数的字面转换

【备注】

字面量:字面量就是指这个量本身,比如字面量3,也就是指3。

指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值

#include <boost/lexical_cast.cpp>{int i = 0;char ch = 12;i = boost::lexical_cast<int>(ch); //崩溃!!!i = boost::numeric_cast<int>(ch); //正确,但numeric_cast多用于数值之间的转换,int转double等//----------------------------------------string str( 8, '/n' );strncpy( &str.at(0), "1234567", 7 );i = atoi( str.c_str() ); //正确i = boost::lexical_cast<int>(str); //崩溃!!!}