boost 字符串与文本处理 -> lexical_cast
来源:互联网 发布:lol符文法师咋样知乎 编辑:程序博客网 时间:2024/05/29 19:13
lexical_cast P178
示例代码
#include <boost/lexical_cast.hpp> int main() { using namespace boost; int x = lexical_cast<int>("100"); long y = lexical_cast<long>("2000"); float pai = lexical_cast<float>("3.14159e5"); double e = lexical_cast<double>("2.71828"); cout<< x << y << pai << e << endl; string str = lexical_cast<string>(456); cout<<str<<endl; cout<<lexical_cast<string>(0.618)<<endl; cout<<lexical_cast<string>(0x10)<<endl; }
异常bad_lexical_cast
当lexical_cast无法执行转换操作时会抛出异常bad_lexical_cast。我们可以利用bad_lexical_cast来验证数字符串的合法性,实现一个模板函数num_valid()的代码如下:template<typename T> bool num_valid(const char* str) try { lexical_cast<T>(str); return true; } catch(bad_lexical_cast&) { return false; };
应用于自己的类
示范
class demo_class{ friend std::ostream& operator<<(std::ostream& os, const demo_class& x) { os<<"demo_class's Name"; return os; }};int main(){ cout << lexical_cast<string>(demo_class())<<endl;}
模板类 输出类名
template<typename T> struct outable { friend std::ostream& operator<<(std::ostream& os, const T& x) { os <<typeid(T).name(); return os; } }; class demo_class:outable<demo_class>{}; int main() { cout<<lexical_cast<string>(demo_class())<<endl; }
0 0
- boost 字符串与文本处理 -> lexical_cast
- boost库之字符串与文本处理——lexical_cast
- boost split和lexical_cast配合使用处理文本
- Boost学习笔记 -- 字符串与文本处理
- boost之lexical_cast库,数值/字符串转换及其异常处理
- 利用boost库进行字符串与文本处理
- boost——字符串与文本处理string_algo(一)
- boost——字符串与文本处理format
- boost——字符串与文本处理string_algo(二)
- boost——字符串与文本处理tokenizer
- [Boost基础]字符串和文本处理——lexical_cast词汇转换
- Boost::lexical_cast
- Boost :Lexical_cast
- boost::lexical_cast
- boost lexical_cast
- boost::lexical_cast
- boost lexical_cast
- boost::lexical_cast
- 如何让myeclipse实现包的分层效果
- php四种基础算法:冒泡,选择,插入和快速排序法
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- activiti 定时边界相关
- 简单谈谈对android studio 的单元测试
- boost 字符串与文本处理 -> lexical_cast
- LabVIEW——Case结构
- Linux CentOS 6.4/6.5 配置VPN【图文|详细教程】
- react配置之浅谈
- 获取web服务器状态
- 使用动态类型Dynamic Type
- Tomcat下Server.xml配置详解
- 套接字(socket)基本知识与工作原理
- C#做服务使用Process启动外部程序没窗体