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

来源:互联网 发布:如何分析薪酬数据 编辑:程序博客网 时间:2024/05/15 16:36

作者:朱金灿
来源: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。我个人感觉似乎不必使用一个派生类,需要哪个功能就单独用一个静态函数似乎更为灵活。






原创粉丝点击