boost库简介之:字符串处理一

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

正文:

1,字符转换

1.1 相关类

lexical_cast

bad_lexical_cast

1.2 定义文件:#include <boost\lexical_cast.hpp>

1.3 功能简介:

用来进行类型转换的,这里要说明的是,我认为的类型转换有两类: a,进行语法的转换,如

int 到 double, 派生类到基类的转换,指针的转换等等;b,进行语义的转换,如"1234"字符串到

整数1234的转换。

这个lexical_cast的转换我认为应该是进行语义的转换。

1.4 使用举例:

UltraEdit10.10c + MS C/C++ Compiler12.00.8804 for 80x86 + win2k(sp5)测试通过。

#include <iostream>

#include <boost\lexical_cast.hpp>

using namespace std;

main()

{

int i=100;

char* pstr = "10101";

cout<<"Before convert i is:"<<i<<endl;

i = boost::lexical_cast< int >(pstr);

cout<<"After convert i is:"<<i<<endl;

return 0;

}

//print: Before convert i is:100

// After convert i is:10101

1.5 其他:

转换的异常处理和一般的异常处理相同。

如:try

{

//进行转换

}

catch(bad_lexical_cast &)

{

//处理异常

}

2,格式化字符串

2.1 相关类

format

2.2 定义文件:#include <boost\format.hpp>

2.3 功能简介:

构建一个格式化的字符串,其中的某些字符是待定的,其可以以参数的形式写入。

2.4 使用举例:

UltraEdit10.10c + MS C/C++ Compiler12.00.8804 for 80x86 + win2k(sp5)测试通过。

#include <iostream>

#include <boost\format.hpp>

#include <string>

using namespace std;

using boost::format;

using boost::io::group;

main()

{

boost::format fmt("%1% %2% %3% %2% %1% \n");

string str;

cout<<fmt %1 %2 %3<<endl;

return 0;

}

//print: 1 2 3 2 1

2.5 其他:

其它,如高级应用,用户自定义类型请参考boost库相关文档。

总结:

未完,待续。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有