提示:
- 虽然在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; }