bambooflow Note

lexical_cast

最終更新:

bambooflow

- view
メンバー限定 登録/ログイン

Boost.Conversion


lexical_cast<>メモ。



数値を文字列に変換する


#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main( int argc, char* argv[] )
{
    using namespace std;
    using namespace boost;
 
    int num = -12345;
    string str = lexical_cast<string>( num );  // 数値(-12345) -> 文字列"-12345"
 
    cout << "str = " << str << endl;
 
    return 0;
}
 


文字列を数値に変換



#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main( int argc, char* argv[] )
{
    using namespace std;
    using namespace boost;
 
    string str = "-12345";
    int num = lexical_cast<int>( str );   // 文字列"-12345" -> 数値(-12345)
 
    cout << "num = " << num << endl;
 
    return 0;
}
 


例外処理



#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main( int argc, char* argv[] )
{
    using namespace std;
    using namespace boost;
 
    string str = "abcdefg";
 
    try {
        int num = lexical_cast<int>( str );
 
    }   
    catch (bad_lexical_cast &e )
    {   
        cout << e.what() << endl;
    }
 
    return 0;
}
 

タグ:

Boost
記事メニュー
ウィキ募集バナー