boostのlexical_キャスト使用
442 ワード
数値文字列から整数への変換を安全にします.
#include <boost/lexical_cast.hpp>
template <typename T>
bool safe_lexical_cast(const char* str, T& ret_val) {
try {
ret_val = boost::lexical_cast<T>(str);
return true;
} catch (boost::bad_lexical_cast& e) {
ret_val = 0;
LOG_WARNING("safe_lexical_cast fail, error:" << e.what());
}
return false;
}