您的位置:首页 > 其它

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

2017-07-16 11:03 435 查看
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); //崩溃!!!
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐