boost::lexical_cast常见使用方法具体解释之万能转换
提示:
- 尽管在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;
} 
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号