现在的位置: 首页 > 综合 > 正文

扩展std::string功能的几个做法

2013年10月25日 ⁄ 综合 ⁄ 共 1442字 ⁄ 字号 评论关闭

作者:朱金灿

来源:http://blog.csdn.net/clever101/


      std::string毫无疑问是一个很强大的字符串类,但比起MFC的CString类,也存在一些不足,比如字符串的大小写转换以及格式化字符串。这次我介绍一下std::string大小写转换的两个函数以及格式化std::string的两种做法。




       CString中的format函数让人使用起来非常舒服。std::string如何实现格式化字符串呢?通过搜索网上资料,我找到了两种办法:

法一:利用std::ostringstream类,具体做法如下例:



法二:利用Boost Format library,具体如下例:



    
boost::format的基本语法结构为:format(需要格式化的字符串 ) %参数1 %参数2 ...%参数n。具体用法参考:Boost 库之format的使用


另外网上有人基于std::string实现了一个ext_string,提供一些常用的功能,例如:
1. 定义分隔符。给定分隔符,把string分为几个字段。
2. 提供替换功能。例如,用winter, 替换字符串中的wende
3. 大小写处理。例如,忽略大小写比较,转换等
4. 整形转换。例如把"123"字符串转换为123数字。

具体你可以看看:Extended STL string
。我个人感觉似乎不必使用一个派生类,需要哪个功能就单独用一个静态函数似乎更为灵活。






抱歉!评论已关闭.