提示:
- 虽然在c中可是使用类似于atoi之类的函数对字符串转换成整型,但是我们在这儿还是推荐使用这个函数
- 如果转换发生了错误,lexical_cast会抛出一个bad_lexical_cast异常,因此程序中需要对其进行捕捉。
下面是程序示例:
- #include <iostream>
- #include <boost/lexical_cast.hpp>
- using namespace std;
- using namespace boost;
- int main()
- {
- string s = "123";
- int a = lexical_cast<int>(s);
- double b = lexical_cast<double>(s);
- printf("%d/r/n", a + 1);
- printf("%lf/r/n", b + 1);
- try
- {
- //为了防止转化错误使用一个错误的例子
- int c = lexical_cast<int>("wrong_number");
- }
- catch(bad_lexical_cast & e)
- {
- printf("%s/r/n", e.what());
- }
- return 0;
- }